Даю 99 баллов (писать ** питоне или с ++) Петя и Вася недавно нашли очень интересную...

0 голосов

Даю 99 баллов (писать на питоне или с ++)
Петя и Вася недавно нашли очень интересную игру. У них есть большой квадрат с ребром N. Вася и Петя по очереди загадывают другие квадраты, лежащие внутри большого, после чего вырезают их (при этом часть загаданного квадрата уже может быть вырезана ранее либо выходить за пределы большого квадрата). После некоторого количества ходов они должны безошибочно назвать площадь оставшейся фигуры.

Зная размер большого квадрата и размеры малых, вырезаемых квадратов, вычислите площадь фигуры, полученной после того, как все малые квадраты будут вырезаны из большого.

Входные данные
В первой строке целое число N — размер ребра квадрата (1<=N<=100). Во второй строке целое число M — количество вырезаемых квадратов. В следующих M строках (1<=M<=13) содержатся тройки целых чисел X, Y, A (разделённые пробелом), которые задают квадрат с углами в точках с координатами (X+1,Y+1) и (X+A,Y+A) . Считайте, что большой квадрат имеет координаты углов (1,1) и (N,N) . Рёбра всех квадратов параллельны осям координат. (0<=X,Y<=N , 1<=A<=N).<br>
Выходные данные
Целое число S — площадь фигуры, получившейся после вырезания из большого квадрата всех малых квадратов.

Примеры
входные данные
6
3
3 3 3
4 4 2
5 5 1
выходные данные
27


спросил от Начинающий (515 баллов) в категории Информатика
оставил комментарий от Архангел (142k баллов)

Конкурсные задания нельзя. Своим умом нужно...

оставил комментарий от Начинающий (515 баллов)

это не конкурсное

оставил комментарий от Начинающий (515 баллов)

с информатикса

оставил комментарий от Начинающий (515 баллов)

ну или идею напиши

оставил комментарий от Архангел (142k баллов)

А информатикс - это что по-Вашему? Школьное домашнее задание?

оставил комментарий от Начинающий (515 баллов)

нет

оставил комментарий от Начинающий (515 баллов)

но мне нужна помощ

оставил комментарий от Бакалавр (13.3k баллов)

что сложного в этой задаче?

оставил комментарий от Архангел (142k баллов)

Этот ресурс, как написано в Пользовательском соглашении, предназначен ИСКЛЮЧИТЕЛЬНО для помощи школьникам в их домашних заданиях. Остальное - нарушение Правил.

1 Ответ
0 голосов
ответил от Бакалавр (13.3k баллов)
 
Лучший ответ
#include
#include
#include
 
using namespace std;
 
int main() {
    int n;
    scanf("%d", &n);
    bool a[n][n];
    memset(a, true, sizeof(a));
    int m;
    scanf("%d", &m);
    for (int k = 0; k < m; ++k) {<br>        int x, y, aa;
        scanf("%d%d%d", &x, &y, &aa);
        for (int i = x; i < min(x + aa, n + 1); ++i) {<br>            for (int j = y; j < min(y + aa, n + 1); ++j) {<br>                a[i][j] = false;
            }
        }
    }
    int cnt = 0;
    for (int i = 0; i < n; i++) {<br>        for (int j = 0; j < n; j++) {<br>            if (a[i][j]) {
                cnt++;
            }
        }
    }
    printf("%d", cnt);
    return 0;
}
оставил комментарий от Начинающий (515 баллов)

cgc

оставил комментарий от Начинающий (515 баллов)

спс

...