Document 478975

advertisement
Учебно-тренировочные сборы по информатике, Москва, школа N179 - Тур N2, вариант D, 21 марта 2006 года
Задача A
Стек
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
a.in
a.out
1 секунда
Требуется реализовать операции для работы со стеком.
Формат входных данных
В первой строке входного файла записано одно натуральное число N – количество
операций со стеком (1  N  1000).
В каждой из следующих N строк записано по одному неотрицательному целому число.
Положительное число означает, что необходимо добавить это число в стек. 0 означает, что
необходимо вынуть из стека последнее число и напечатать его; если стек пуст, то ничего делать
не нужно.
Формат выходных данных
В выходной файл требуется вывести последовательность
соответствующую инструкциям во входном файле.
натуральных
чисел,
Пример
a.in
5
3
2
0
0
0
5
3
0
0
0
3
a.out
2
3
5
3
5
Задача B
Скобки
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
a.in
a.out
1 секунда
Требуется определить, является ли правильной данная последовательность круглых,
квадратных и фигурных скобок
Формат входных данных
В единственной строке входного файла записано подряд N скобок (1N255).
Формат выходных данных
В выходной файл вывести YES, если данная последовательность является правильной, и
NO в противном случае
Программа, работающая только со строками, состоящими из круглых скобок, будет
набирать часть баллов.
Пример
b.in
([])
(({)})
b.out
YES
NO
1
Учебно-тренировочные сборы по информатике, Москва, школа N179 - Тур N2, вариант D, 21 марта 2006 года
Задача C
Площадь комнаты
Имя входного файла:
input.txt
Имя выходного файла:
output.txt
Максимальное время работы на одном тесте:
1 секунды
Требуется вычислить площадь комнаты в квадратном лабиринте.
Формат входных данных
В первой строке входного файла записано число N – размер лабиринта (3 <= N <= 10). В
следующих N строках задан лабиринт (‘.’ – пустая клетка, ‘*’ – стенка). В следующей строке
задано два числа – номер строки и столбца клетки, находящейся в комнате, площадь которой
необходимо вычислить. Гарантируется, что эта клетка пустая, и что лабиринт окружен стенками
со всех сторон. Строки нумеруются сверху вниз, столбцы - слева направо.
Формат выходных данных
В выходной файл нужно вывести единственное число – количество пустых клеток в данной
комнате.
Пример
c.in
c.out
3
5
*****
**..*
*.*.*
*..**
*****
2 4
Задача D
Книжная полка
Имя входного файла:
d.in
Имя выходного файла:
d.out
Максимальное время работы на одном тесте:
1 секунда
Виктор Александрович раскладывает свои книги на полку. Если на полке нет ни одной
книги, то он просто ставит её, если есть, то ставит либо справа, либо слева от уже расставленных
книг. Забирает книги он так же, то есть снимает только с правого или левого края.
Формат входных данных
В первой строке содержится число N (1 ≤ N ≤ 10000) — количество операций, которые
провёл Виктор Александрович. Далее в N строках находится информация об операциях. Каждая
операция постановки книги на полку описывается парой чисел. Первое из них (1 или 2)
показывает, книга ставится с левого края или с правого соответственно, второе целое число (от 0
до 10000) обозначает номер книги. Операции снятия книги с полки описывается одним числом —
3 или 4, с левого и правого края соответственно.
Формат выходных данных
Для каждой операции снятия книги вывести номер снимаемой книги.
Пример
d.in
5
1 1
2 2
1 3
3
4
d.out
3
2
2
Download