Идёт поиск ответа...

Надо немного подождать, идёт поиск ответа на твой вопрос!
Ответ найден
Если ответ не очень подходит для тебя, то нажми кнопку и попробуй найти другой
Найти другие ответы
    • 24 October 2017
    • Автор: Leraps1

    Посчитаем сколько всего узлов на этом листке:
    у нас он N клеточек в высоту, значит всего в каждом столбике N+1 узел;
    у нас он М клеточек в ширину, значит всего в каждой строчке М+1 узел.
    Значит всего узлов (
    N+1)*(М+1).
    Чтобы определьть прямоугольник, надо определить два узла в которых будут противоположные углы:
    первый узел мы можем выбрать (
    N+1)*(М+1) способами;
    второй узел мы можем выбрать 
    N*М способами (мы не можем выбрать тот столбик и тот ряд, в котором у нас стоит первый узел).
    Тоэсть всего способов выбрать (
    N+1)*(М+1)*N*М, но это не так.
    Рассмотрим весь лист как выбраный прямоугольник.
    Пусть мы его выбрали так:
    (0; 0),  (
    N+1; М+1).
    Этот же прямоугольник мы считали, когда плучали с такими координатами:
    1) (
    N+1; М+1),  (0; 0).
    2) (
    N+1; 0),  (0; М+1).
    3) (0; М+1),  (
    N+1; 0).
    И так с каждым прямоугольником, тоэсть каждый прямоугольник мы считаем 4 раза, тоэсть конечная формула такова:
    (N+1)*(М+1)*N*М / 4.
    Осталось составить прогрмму, которая будет это вичислять.
    С++:
    #include <iostream>using namespace std;int main()
    {
    int N, M, k;
    cin >> N >> M;
    k = (N+1)*(M+1)*N*M / 4;
    cout << k << endl;
    return 0;
    }

    Pascal:
    program Znanija;
    var N, M, k:integer;
    begin

    read(N);
    read(M);

    k:=((N+1)*(M+1)*N*M) div 4;

    writeln();
    writeln(k);

    end.

Последние опубликованные вопросы