Автор: | Седьмая Всероссийская Командная олимпиада школьников по программированию | |||
Входной файл: | windows.in | Ограничение времени: | 2 сек | |
Выходной файл: | windows.out | Ограничение памяти: | 64 Мб |
Когда пользователь работает в операционной системе Windows, у него часто запущено несколько приложений. Каждое из приложений работает в отдельном окне. Для переключения между окнами используется комбинация клавиш "Alt+Tab". Эта комбинация делает активным окно, в котором пользователь работал перед тем, как перейти в текущее активное окно.
Чтобы переключиться в другое окно, можно нажать клавишу "Alt" и затем, не отпуская ее, несколько раз нажать клавишу "Tab". Чтобы понять, какое окно станет активным после этого, воспользуемся следующей моделью. Пусть запущено п приложений. Приложения в операционной системе организованы в виде списка и упорядочены по убыванию времени последней активности. То есть приложение, окно которого является активным в настоящий момент - первое в списке, приложение, окно которого было активно перед этим - второе, и т. д.
Если нажать клавишу "Alt" и затем, не отпуская ее, нажать клавишу "Tab" k раз, то активным станет окно приложения, которое находится на (k mod n) + 1-м месте в списке. Здесь a mod b означает остаток от деления a на b. Иными словами, операционная система рассматривает список как циклический, переходя после последнего элемента списка к первому.
При запуске нового приложения оно добавляется в начало списка.
Задана последовательность действий пользователя, где каждое действие - либо запуск приложения, либо переключение между окнами. Выведите в выходной файл, в каком порядке пользователь работал с приложениями.
№ | Входной файл (windows.in ) |
Выходной файл (windows.out ) |
---|---|---|
1 |
|
|
Автор: | А. Кленин | |||
Входной файл: | input.txt | Ограничение времени: | 2 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб |
Компания X желает разработать программу для автоматического поиска интересной информации на веб-страницах. В частности, было замечено, что авторы веб-сайтов любят выделять важную информацию при помощи курсива, жирного шрифта, подчёркивания и т.д. Директор компании высказал предположение, что самая важная информация будет выделена сильнее всего. Поэтому вам поручено написать программу, которая в данном тексте найдёт участок с наибольшим количеством выделений.
Исходными данными для программы будет строка символов, содержащая пары тегов <i> ... </i>, <u> ... </u>, <b> ... </b>, ограничивающие выделенные различным образом подстроки. Теги могут повторяться и вкладываться друг в друга, например This <b>is <i>a <u>sample of <b>very</b></u> important</i> text</b>. Ваша программа должна найти подстроку, вложенную в наибольшее количество тегов. Если таких подстрок несколько, следует вывести самую левую из них. В приведённом примере ответом будет подстрока very.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Klenin | |||
Входной файл: | input.txt | Ограничение времени: | 5 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 200 Мб |
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|