суббота, 9 марта 2013 г.

Задачи 2 тура Открытого чемпионата СыктГУ по программированию



A. Свечи

Ограничение по времени:
2 секунды
Ограничение по памяти:
64 мегабайта
Накануне восьмого марта Антон решил устроить Татьяне романтический вечер. Пригласил к себе, приготовил ужин и зажег N свечей разной высоты.
Таня пришла, а Антон решил сделать обстановку еще романтичнее, задувая свечи. Каждая свеча сгорает на сантиметр за минуту. Если свеча была задута, она прекращает уменьшаться в размерах. Если свечу попытались задуть, а она уже сгорела, то ее размер так и остается равным нулю.
После того, как гостья ушла домой, Антон решил узнать, сколько сантиметров свечей у него осталось в сумме.
Формат входного файла
В первой строке дано число N (1 <= N <= 1000) — количество свечей.
Во второй строке дано N чисел — высоты свечей hi (1 <=  hi <= 1000).
В третье строке дано N чисел — время, когда была задута i-я свеча ti (0 <=  ti <= 1000).
Формат выходного файла
Единственное число — суммарная длина оставшихся свечей в сантиметрах.
Пример входного и выходного файлов
Input
Output
3
5 5 5
4 5 6
1
4
1 2 3 4
0 1 2 3
4

B. Номер телефона

Ограничение по времени:
2 секунды
Ограничение по памяти:
64 мегабайта

В сам праздник Антон должен был встретиться с Таней в центре города. Девушка опаздывала, а он как назло, он забыл дома мобильный. Встретив одного знакомого, Антон попросил у него телефон, но наизусть помнил не все цифры.
Сколько разных вариантов номеров придется набрать Антону в худшем случае, чтобы дозвониться до Татьяны?
Формат входного файла
Строка длиной не более 20 символов, состоящая из цифр и знака '*', означающего цифру, которую Антон точно не помнил в номере телефона.
Формат выходного файла
Количество набранных номеров в худшем случае.
Примеры входных и выходных файлов
Input
Output
8904***1623
1000
51**72
100

C. Подарок

Ограничение по времени:
2 секунды
Ограничение по памяти:
64 мегабайта
Антон студент. Студенты по определению довольно бедный народец. Накануне праздника наш герой пошел выбирать подарок своей любимой. Зайдя в сувенирный магазинчик, он увидел стол с подарками размером N на M ячеек. В каждой ячейке лежал подарок и ценник на него. Антон не богат, слишком дорогие подарки — это накладно. Но и обидеть девушку дешевой безделушкой не хочется.
Было решено сделать так. Выбрать «самый средний» по цене подарок — тот, что в середине ценового диапазона. Тогда все будет хорошо, все будут довольны.
Формат входного файла
В первой строке находятся два целых нечетных числа — N, M (1 <= N, M <= 1000).
В следующих N строках находится по M целых положительных чисел — цена подарка в соответствующей ячейке.
Формат выходного файла
Единственное число — цена подарка, который купит Антон.
Примеры входных и выходных файлов
Input
Output
3 3
6 4 2
10 8 14
12 16 18
10
3 5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
8

Напоминание
Девушки, помните! Главное в подарке — внимание ;)

D. Цветы

Ограничение по времени:
10 секунд
Ограничение по памяти:
256 мегабайт
Вечером, перед тем, как зайти к Тане в гости, Антон решил купить ей букет цветов. Но, несмотря на календарную весну, на улице все еще очень холодно. Велики шансы, что букет просто замерзнет, прежде чем окажется у адресата. Поэтому необходимо выбирать самый ближайший цветочный.
Пусть город состоит из перекрестков и дорог между ними. Каждая дорога имеет протяженность, по каждой дороге можно идти в обе стороны. Татьяна живет на перекрестке с номером один. На нескольких перекрестках открыты цветочные магазины. Найти ближайший магазинчик и вывести расстояние до него.
Между любыми двумя перекрестками существует маршрут.
Формат входного файла
В первой строке заданы три целых числа — N, M, S (1 <= N, M, S <= 100000), N — количество перекрестков, M — количество дорог, S — количество цветочных магазинов.
В следующей строке заданы S чисел — номера перекрестков с магазинами.
В следующих M строках тройкой чисел (u, v, l) заданы дороги, между перекрестками (u < v), (1 <= l <= 1000). l — протяженность дороги.
Формат выходного файла
Вывести расстояние от 1-го перекрестка до ближайшего цветочного магазина.
Примеры входных и выходных файлов
Input
Output
6 6 3
2 3 5
1 2 15
1 4 5
3 4 5
3 5 1
4 5 1
4 6 1
6

E. Игра

Ограничение по времени:
4 секунды
Ограничение по памяти:
64 мегабайта
Антон и Таня увлекаются задачками для тренировки памяти. И вот одна из них. На столе раскладываются карточки с номерами от 1 до N, получается N стопок по 1 карте в каждой. Каждый ход участники называют два неодинаковых числа — A, B - в этом диапазоне. Тогда стопка, в которой находится карта с номером B, кладется на стопку, в которой находится карта с номером A. В любой момент участника могут спросить, какая карта находится снизу любой стопки. Если он отвечает правильно, то получает одно очко.
Для ускорения игры, Антон-да-Таня решили написать программу, которая выдавала бы правильный ответ на каждый запрос. Вы можете им помочь.
Формат входного файла
В первой строке заданы числа N и M (1 <= N, M <= 100000). N — количество карточек, M — количество команд.
В следующих М строках команды в одном из двух допустимых форматов:
  • 0 A B — положить стопку с картой B на стопку с картой A.
  • 1 X — вывести номер нижней карты в стопке с картой X.
Формат выходного файла
На каждый запрос вида '1 X' — вывести требуемое число.
Примеры входных и выходных файлов
Input
Output
48
1 1
1 2
1 3
1 4
0 1 2
0 3 4
1 2
1 3
1
2
3
4
1
3


Комментариев нет:

Отправить комментарий