На паркетном полу ФизМат Школы N932, какой-то хулиган стамеской проделал несколько борозд, идущих параллельно стенам. Администрация школы решила закрасить все борозды синей краской. Приготовив все необходимое для покраски, главный маляр задумался: а можно ли закрасить все борозды, не отрывая валика от пола, и более того, не закрашивая одну и ту же канавку дважды. Ваша задача будет состоять в том, чтобы определить, возможно ли такое окрашивание и если да, то вывести координаты точки с которой можно начинать покраску.
На первой строке входного файла находится число \(N\) ( \(1 \le N \le 100\) ) – количество борозд проделанных хулиганом. За ним следуют \(4N\) целых чисел – координаты концов каждой из борозд (\(−1000 \le X_1, Y_1, X_2, Y_2 \le 1000\)).
На первую строку выходного файла программа должна вывести `yes’ или `no’, в зависимости от того, можно или нет закрасить канавки. В случае положительного ответа, на второй строке выведите координаты точки, с которой можно начинать красить.
8 3 6 3 13 9 1 9 16 18 1 18 16 9 1 18 1 3 6 9 6 9 6 18 6 3 13 18 13 9 16 18 16
yes 6 18
Как и большинство пятиклассников, Петя очень любит компьютерные игры, больше всего ему нравится игра “Питон”. Суть этой игры состоит в следующем. На клетчатом поле размером \(N \times N\), находятся \(M\) кроликов. Каждый кролик имеет свою калорийность. Играющий управляет питоном, который изначально имеет длину \(2\). Каждую секунду голова питона перемещается на одну позицию вверх, влево, вправо или вниз, в соответствии с клавишей, которую в данный момент нажимает играющий, а хвост питона перемещается на клетку, где находилась часть питона, предшествующая хвосту. Когда питон съедает кролика с калорийностью \(K\), голова у него продолжает двигаться, а хвост в течении \(K\) секунд остается на месте. При этом происходит увеличение длины питона на \(K\). Как только питон пересекает сам себя, игра заканчивается. Если питон съедает кролика, когда процесс переваривания предыдущего кролика еще не закончен, то очередной кролик остается в пищеводе и ждет своей очереди на переваривание. Длина питона, в конечном итоге, должна увеличится на величину равную сумме калорийностей всех съеденных кроликов (если, разумеется, до этого игра не завершится).
После некоторой практики Петя решил, что его техника игры совершенна, и что надо оставить записи потомкам о своих играх. Для этого он записывал, на какие клавиши он нажимал и сколько времени (в секундах) он держал клавишу нажатой (а Петя, как истинный игроман, каждую секунду держал нажатой какую-либо клавишу). К сожалению, в той версии “Питона”, в которую играл Петя, содержалась ошибка, а именно в некоторых случаях питон мог пересекать сам себя без всяких последствий. Ваша задача состоит в том, чтобы написать программу, которая по известному начальному положению питона, расположению кроликов на площадке и последовательности нажатий на клавиши определит первый момент времени, когда питон пересечет сам себя. Известно, что других ошибок “Питон” не содержит. В частности, питон не может последовательно двигаться в противоположных направлениях.
На первой строке входного файла находятся числа \(N\) и \(M\) (\(2 \leq N \leq 50\), \(0 \leq M \leq 50\)) На следующей строке находятся координаты головы и хвоста питона \(X_1\),\(Y_1\) ,\(X_2\), \(Y_2\) (\(|X_1 - X_2| + |Y_1 - Y_2| = 1\)). На следующих \(M\) строках следуют величины \(A_i\), \(B_i\), \(C_i\) (\(1 \leq i \leq M\)), разделенные пробелами – координаты и калорийность \(i\)-го кролика (\(1 \leq A_i, B_i \leq N\), \(0 \leq C_i \leq 10\)). Начиная со следующей строки, будет находиться последовательность Петиных нажатий на клавиши, в следующем виде <Название клавиши> <время нажатия>. Название клавиши может быть одним из четырех UP, DOWN, LEFT и RIGHT (Петя нажимал только на клавиши стрелок), а время нажатия – натуральное число. Гарантируется, что каждая строка будет содержать информацию ровно об одном нажатии.
Ваша программа должна вывести в выходной файл – одно число, секунду, на которой закончится игра (то есть когда питон пересечет сам себя, или к моменту окончания записей).
5 3 4 4 4 5 1 1 0 3 3 2 5 5 1 UP 1 LEFT 1 UP 2 LEFT 2 DOWN 4 RIGHT 4 UP 1 LEFT 1 DOWN 1 LEFT 3
17
Многим из вас приходилось работать в Интернете, и наверняка вы неоднократно сталкивались с неправильными ссылками, то есть вы пытаетесь перейти по ссылке, а вам приходило сообщение, что такого документа не существует. Ваша текущая задача - реализовать упрощенную проверку страницы на корректность ссылок.
Входной файл будет содержать название одного или нескольких документов и их содержимое. Cодержимое документов будет иметь следующий вид: <HTML> Текст <END>
Так же в тесте могут быть ссылки на другие документы на данном сервере, они имеют следующий вид: <a href=”имя файла”>. Первая строка входного файла будет содержать число \(N\) --- количество файлов \(N\) (\(N \leq 100\)). Далее, с новой строки, будет следовать название \(1\)-го документа, за которым следует содержимое \(1\)-го документа, потом начиная с новой строки название \(2\)-го документа, потом содержимое \(2\)-го документа, и т.д. Размер входного файла не превышает 100 Кб.
Выведите два числа: количество неправильных ссылок (т.е. ссылок на несуществующие документов) во всех документах и количество документов недостижимых от первого (т.е. таких, до которых нельзя добраться, начав с первого документа и переходя по ссылкам).
4 index.html <html> Index <A HREF=”1”> <A href=”2”> <end> 1 <html> This picture shows an example <A HREF=”abc.jpg”> <end> 2 <html> This problem is very simple <A href=”Sol.pas"> <end> 3 <html> Information about other contests is unavailable Look there <A HREF=”hehe.html”> <end>
3 1
У Пети имеется неограниченный набор красных, синих и зеленых плиток размером 1×1. Он выбирает ровно N плиток и выкладывает их в полоску. Например, при N = 10 она может выглядеть следующим образом:
К | К | К | С | З | К | К | З | К | С |
(Буквой К обозначена красная плитка, С – синяя, З – зеленая)
После этого Петя заполняет следующую таблицу:
| красный | синий | зеленый |
красный | Y | Y | Y |
синий | Y | N | Y |
зеленый | Y | Y | N |
В клетке на пересечении строки, отвечающей цвету А, и столбца, отвечающего цвету Б, он записывает "Y", если в его полоске найдется место, где рядом лежат плитки цветов А и Б и "N" в противном случае. Считается, что плитки лежат рядом, если у них есть общая сторона. (Очевидно, что таблица симметрична относительно главной диагонали – если плитки цветов А и Б лежали рядом, то рядом лежали и плитки цветов Б и А.) Назовем такую таблицу диаграммой смежности данной полоски.
Так, данная таблица представляет собой диаграмму смежности приведенной выше полоски.
Петя хочет узнать, сколько различных полосок имеет определенную диаграмму смежности. Помогите ему.
(Заметьте, что полоски, являющиеся отражением друг друга, но не совпадающие, считаются разными. Так, полоска
С | К | З | К | К | З | С | К | К | К |
не совпадает с полоской, приведенной в начале условия.)
Формат входных данных
Первая строка входного файла содержит число N. (1 N 100). Следующие три строки входного файла, содержащие по три символа из набора {"Y", "N"}, соответствуют трем строкам диаграммы смежности. Других символов, включая пробелы, во входном файле не содержится. Входные данные корректны, т.е. диаграмма смежности симметрична.
Формат выходных данных
Выведите в выходной файл количество полосок длины N, имеющих приведенную во входном файле диаграмму смежности.
Примеры
Входные данные | Выходные данные |
10 YYY YNY YYN | 4596 |
3 YYY YYY YYY | 0 |
Красотой последовательности состоящей из \(N\) натуральных чисел, будем называть минимальное натуральное число \(M\), не представимое в виде алгебраической суммы некоторых элементов данной последовательности. Например, красота последовательности \(2\),\(3\),\(4\) равна \(8\) (\(1=-2+3\), \(2=-2+4\), \(3=3\), \(4=4\), \(5=2+3\), \(6=2+4\), \(7=4+3\), \(8=\)?). Напишите программу, которая по заданному числу \(N\), находит самую красивую последовательность, состоящую из \(N\) чисел.
Во входном файле находится число N (\(1 \leq N \leq 20\)).
Выведите в выходной файл \(N\) чисел – элементы найденной последовательности, упорядоченные по неубыванию.
2
1
3