Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Конкурсы и Олимпиады по Машинному программированию (КОМП) Разбор уровня 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.

Результаты на сегодняшний день

Задачи третьего и четвёртого уровней оказались неожиданно трудными.

Уровень 3

Чернов Николай Алексеевич.

Уровень 2

Карета Максим Станиславович, Рура Виталий Александрович, Марципака Андрей Юрьевич, Бурлаков Никита Александрович, Смирнов Борис Андреевич.

Уровень 1

Телегин Григорий Игоревич, Мазитов Александр Викторович, Афанасьева Елена Валентиновна, Халикова Елена Сергеевна, Кузьмин Юрий Викторович, Перевозчикова Мария Игоревна, Чалый Иван Александрович.



Автор: Пупышев Вячеслав Викторович   
e-mail: pvv@uni.udm.ru   
Web: http://colymp.da.ru   

В избранное