Конкурсы и Олимпиады по Машинному программированию (КОМП) Разбор уровня 0
Сегодня разберём задачу уровня 0.
На нулевом уровне задачи очень простые. Обычно задача-заявка не требует даже ветвлений. В нашем случае это именно так.
Первое, что можно заметить, что результат не зависит от того, в каком порядке подаются размеры кусочка. Поскольку шахматная доска симметрична относительно диагонали, то и результат будет одинаковым. Второе, что нужно заметить, что если один из размеров кусочка чётный, то белых и чёрных клеток на нем поровну. Это можно заметить,
если взять одну линию из клеток чётной длины. На ней чёрных и белых клеток поровну. И не важно теперь сколько таких полосок взять, равенство не изменится. Осталось заметить, что при двух нечётных размерах кусочка чёрных клеток будут больше только на одну.
Собрав всё это можно сделать несколько программ, которые одинаково хорошо и правильно работают. Вот одно из возможных решений:
program Level0; var W, N, M : integer; begin readln(N); readln(M); W:=N*M div 2; {W - количество белых клеток} writeln(W); writeln(N*M-W); {чёрных = разность между всеми и белыми} end.
Результаты на сегодняшний день
Задачи третьего и четвёртого уровней оказались неожиданно трудными.
Телегин Григорий Игоревич,Мазитов Александр Викторович,Афанасьева Елена Валентиновна,Халикова Елена Сергеевна,Кузьмин Юрий Викторович,Перевозчикова Мария Игоревна,Чалый Иван Александрович.