ВВОД-ВЫВОД ВО ВСЕХ ЗАДАЧАХ СТАНДАРТНЫЙ, ТО ЕСТЬ С КЛАВИАТУРЫ И

advertisement
ВВОД-ВЫВОД ВО ВСЕХ ЗАДАЧАХ СТАНДАРТНЫЙ, ТО ЕСТЬ С КЛАВИАТУРЫ И
НА ЭКРАН! НЕ НУЖНО ИСПОЛЬЗОВАТЬ ФАЙЛОВЫЙ ВВОД-ВЫВОД!
Ограничение по времени на все задачи – 1 сек, по памяти – 256 Mb.
01. Лифт (100 баллов)
На первом этаже некоторого здания находится n коробок. Вес каждой коробки либо 50 кг,
либо 100 кг. Известно, что лифт в этом здании может единовременно поднимать не более
150 кг. Ваша задача найти наименьшее количество использований лифта необходимое для
того, чтобы переместить все коробки с первого этажа на второй.
Коробки не разрешается перемещать каким-либо иным способом, кроме как с помощью
лифта.
Входные данные
В первой строке входного файла записано целое число n (1 ≤ n ≤ 1000) — количество
коробок на первом этаже. Вторая строка содержит веса коробок (числа 50 или 100,
разделенные пробелом).
Выходные данные
Выведите единственное число — наименьшее число использования лифта, необходимое для
того, чтобы перевезти все коробки с первого этажа на второй.
Пример(ы)
ввод
вывод
4
50 100 50 50
2
ввод
вывод
3
100 100 100
3
02. Дни рождения (100 баллов)
Недавно Дима и Юля решили выяснить, правда ли, что в 2010 году их дни рождения
приходятся на один день недели. Юля для этого полезла в календарь и все быстро выяснила,
а Дима из-за временного помутнения рассудка решил написать программу, которая по двум
датам в 2010 году определяет число дней, прошедшее с момента наступления более ранней
даты до момента наступления более поздней даты. Ему удалось написать эту программу за 3
минуты. Теперь такая же задача стоит и перед вами.
Входные данные
В первых двух строках записана первая из двух дат. В первой строке задан номер дня, во
второй — название месяца. Названия месяцев следующие: "January", "February", "March",
"April", "May", "June", "July", "August", "September", "October", "November", "December". В
третьей и четвертой строках таким же образом задана вторая дата.
Выходные данные
Выведите расстояние между датами в днях.
Пример(ы)
ввод
вывод
23
July
29
October
98
ввод
вывод
17
May
16
May
1
03. Шахматная задача (100 баллов)
Ваша задача для заданного числа n расставить на шахматной доске размером n×n фигуры
так, чтобы:


на любой линии, проходящей через центры клеток и параллельной либо сторонам
доски, либо одной из диагоналей, находилась хотя бы одна фигура;
количество фигур должно быть наименьшим.
Заметим, что для доски со стороной n всего существует 6n - 2 линий, описанных в первом
пункте.
Входные данные
В единственной строке входного файла задано целое число n (1 ≤ n ≤ 100).
Выходные данные
Выведите расположение фигур на доске в виде n строк по n символов в каждой. Фигура
обозначается символом "*", пустая клетка — символом ".".
Пример(ы)
ввод
вывод
2
**
**
04. Игра (100 баллов)
Студент Вася наконец-то сдал сессию. От нечего делать он придумал новую игру. На
неограниченном клетчатом поле закрашено K клеток. Далее, пока возможно, проводится
следующая процедура. Если существуют такие четыре клетки, что три из них закрашены и
все четыре клетки расположены в углах некоторого прямоугольника со сторонами,
параллельными сторонам поля, то Вася закрашивает четвертую клетку. Требуется найти
количество закрашенных клеток, когда процесс завершится. Спустя какое-то время Васе
надоело считать это вручную и он попросил вас о помощи.
Входные данные
В первой строке входного файла содержится одно натуральное число K (0 ≤ K ≤ 2*105).
Далее в каждой из следующих K строк содержатся по два числа — координаты закрашенных
клеток Xi, Yi (-109 ≤ Xi, Yi ≤ 109). Гарантируется, что все числа во входном файле целые.
Выходные данные
Выведите одно число — ответ на поставленную задачу.
Пример(ы)
ввод
вывод
3
1 1
1 2
2 2
4
ввод
вывод
5
0
1
0
1
2
9
0
0
1
2
1
05. Стрелок (100 баллов)
Прошло уже много времени с того момента, когда Петя, воспользовавшись вашей
программой по определению специальностей, на которые он поступил, получил ответ
"Army" (Петя не догадывается, что, возможно, это ошибка в программе). Теперь он стрелок
Великой Берляндской армии, направленный в Южный Бирляндистан с секретным заданием.
В случае провала его ожидает большая опасность быть загнанным в угол (левую нижнюю
клетку) прямоугольного поля размера NxM, в остальных клетках которого находятся враги
(будем считать, что стрелок и враги являются точками и располагаются в центре
занимаемых ими клеток). К счастью, Петя вооружен новейшим оружием БЕР-9875, которое
за один выстрел уничтожает любое количество врагов, расположенных на одной прямой.
Петя должен захватить достаточное количество патронов для БЕР-9875 на случай такой
ситуации. Проблема заключается в том, что эти боеприпасы очень тяжелы, и крайне
желательно минимизировать их количество, необходимое для уничтожения всех недругов.
Учитывая, что математические навыки могут слегка утрачиваться в армии, вы просто
обязаны помочь Пете в этой непростой задаче.
Входные данные
В первой строке входного файла содержатся два натуральных числа N и M (1 ≤ N, M ≤ 106).
Выходные данные
Выходной файл должен содержать одно число — минимальное количество выстрелов,
необходимое для уничтожения всех врагов.
Пример(ы)
ввод
вывод
3 4
7
ввод
вывод
2 10
11
Related documents
Download