В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Akhmed2387
Akhmed2387
09.10.2021 23:30 •  Информатика

Говорят, что на этот сайт ( http://tasks.ctn2021.ctf.msk.ru:5001 ) не пускают роботов Очень даю

Показать ответ
Ответ:
lenaaaaaak1
lenaaaaaak1
09.06.2023 10:41

Координаты даны в двоичной системе счисления, поэтому переводим их в десятичную.

Потом сортируем по порядку по номерам точек.

И отмечаем точки на графике, соединяя соседние отрезком.

Я все эти преобразования сделал в таблице Эксель.

Саму таблицу и картинку, полученную после нанесения всех точек смотри внизу.

А вот координаты точек, отсортированные и в десятичной системе:

№     x     y

1     11     7

2     12     7

3     13     6

4     13     5

5     14     6

6     15     6

7     16     5

8     15     5

9     12     3

10     10     1

11     7     1

12     5     2

13     4     1

14     2     2

15     3     2

16     4     3

17     3     6

18     1     7

19     3     8

20     4     8

21     5     7

22     6     5

23     7     6

24     9     6

25     8     5

26     7     5

27     8     4

28     10     4

29     12     5

30     12     6

31     11     7


Восстановите рисунок по заданным координатам. Расставьте точки и соедините их в правильном порядке.
Восстановите рисунок по заданным координатам. Расставьте точки и соедините их в правильном порядке.
0,0(0 оценок)
Ответ:
IkaNika
IkaNika
16.09.2020 17:34
#include <stdio.h>
#include <string.h>
#include <algorithm>
 
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) {
        int x, y, aa;
        scanf("%d%d%d", &x, &y, &aa);
        for (int i = x; i < min(x + aa, n + 1); ++i) {
            for (int j = y; j < min(y + aa, n + 1); ++j) {
                a[i][j] = false;
            }
        }
    }
    int cnt = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (a[i][j]) {
                cnt++;
            }
        }
    }
    printf("%d", cnt);
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота