Темы --> Информатика --> Язык программирования
    Процедуры и функции(96 задач)
    Массивы(232 задач)
    Типы данных(356 задач)
    Циклы(177 задач)
    Условный оператор (if)(164 задач)
    Python(260 задач)
    Standard Template Library(2 задач)
---> 13 задач <---
Источники --> Командные олимпиады --> Командные чемпионаты школьников Санкт-Петербурга по программированию
    1999(5 задач)
    2000(7 задач)
    2001(8 задач)
    2002(8 задач)
    2003(9 задач)
    2004(9 задач)
    2005(10 задач)
    2006(10 задач)
    2007(10 задач)
    2008(9 задач)
    2009(10 задач)
    2010(10 задач)
    2011(9 задач)
    2012(10 задач)
    2013(10 задач)
    2014(11 задач)
    2015(11 задач)
    2016(11 задач)
Страница: 1 2 3 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes
Задано время в формате ЧЧ:ММ:СС, а также количество часов, минут и секунд, которое необходимо прибавить к этому времени.

Таймер - это часы, которые умеют подавать звуковой сигнал по прошествии некоторого периода времени. Напишите программу, которая определяет, когда должен быть подан звуковой сигнал.

Входные данные

В первой строке входного файла записано текущее время в формате ЧЧ:ММ:СС (с ведущими нулями). При этом оно удовлетворяет ограничениям: ЧЧ - от 00 до 23, ММ и СС - от 00 до 60.

Во второй строке записан интервал времени, который должен быть измерен. Интервал записывается в формате Ч:М:С (где Ч, М и С - от 0 до 109, без ведущих нулей). Дополнительно если Ч=0 (или Ч=0 и М=0), то они могут быть опущены. Например, 100:60 на самом деле означает 100 минут 60 секунд, что то же самое, что 101:0 или 1:41:0. А 42 обозначает 42 секунды. 100:100:100 - 100 часов, 100 минут, 100 секунд, что то же самое, что 101:41:40.

Выходные данные

В выходной файл выведите в формате ЧЧ:ММ:СС время, во сколько прозвучит звуковой сигнал. При этом если сигнал прозвучит не в текущие сутки, то дальше должна следовать запись +<кол во> . Например, если сигнал прозвучит на следующий день – то +1 days.

Примеры
Входные данные
23:60:60
0
Выходные данные
00:01:00+1 days
Входные данные
05:05:05
5:1
Выходные данные
05:10:06
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
В заданной строке требуется удалить минимальное количество символов, чтобы оставшаяся строка являлась палиндромом.

Палиндромом называется строка, которая одинаково читается как слева направо, так и справа налево. Подпалиндромом данной строки называется последовательность символов из данной строки, не обязательно идущих подряд, являющаяся палиндромом. Например, HELOLEH является подпалиндромом строки HTEOLFEOLEH. Напишите программу, находящую в данной строке подпалиндром максимальной длины.

Входные данные

Во входном файле находится строка длиной не более 100 символов, состоящая из заглавных букв латинского алфавита.

Выходные данные

Выведите на первой строке выходного файла длину максимального подпалиндрома, а на второй строке сам максимальный подпалиндром. Если таких подпалиндромов несколько, то ваша программа должна вывести любой из них.

Примеры
Входные данные
N
Выходные данные
1
N
Входные данные
ABCDEF
Выходные данные
1
A
ограничение по времени на тест
4.0 second;
ограничение по памяти на тест
64 megabytes
Дано прямоугольное поле и вертикальные или горизонтальные полос (улицы). Вдоль улиц расположены дома, а в клетках, не соприкасающихся с улицами - парк. Требуется подсчитать количество клеток, в которых расположены улицы, парки и дома.

 Правительство страны Ректилании решило построить новый город. По плану правительства, город должен быть построен на сетке M на N прямоугольных участков, размером 100 на 100 метров. Все улицы должны иметь ширину 100 метров и занимать соответственно одну горизонталь или вертикаль сетки. Вертикальные улицы должны пролегать по вертикалям с номерами X1...XV, горизонтальные – по горизонталям с номерами Y1...YH. При этом улицы не соприкасаются, то есть не бывает Xi = Xi-1 + 1 и соответственно Yj = Yj-1 + 1 .

Все дома в новом городе должны занимать одну клетку сетки. Причем все дома должны находиться рядом с улицами, а в клетках, не имеющих общих сторон с улицами, будет разбит парк. Кроме того, дома не должны находиться на наружной стороне крайних улиц. Рисунок 1 изображает план города, рассмотренного в примере.

Теперь правительство Ректилании хочет знать, сколько домов будет построено в новом городе и сколько в нем будет клеток парка. Ваша задача состоит в том, чтобы написать программу, которая рассчитает эти величины.

Входные данные

На первой строке входного файла находятся числа M, N, V и H. (2 V < M 1000, 2 H < N 1000). На второй строке находятся координаты вертикальных улиц — V чисел: 1 = X1 < X2 < … < XV = M. На третьей строке находятся координаты горизонтальных улиц — H чисел 1 = Y1 < Y2 < … < YH = N. Все числа в строках разделены пробелами.

Выходные данные

Выведите в выходной файл три числа: A количество домов в новом городе, B — количество клеток, в которых будет разбит парк и C — количество клеток, по которым будут пролегать улицы. Разделяйте числа пробелами.

Примеры
Входные данные
4 4 2 2
1 4
1 4
Выходные данные
4 0 12
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Клуб Юных Хакеров разработал новый язык для web-страниц. В этом языке у тегов нет атрибутов, и запрещается использовать пробелы в написании тега. А именно: назовем открывающим тегом языка HTHL (Hyper Text Hackers' Language) следующую последовательность:

"<", имя тега, ">"

а закрывающим  тегом последовательность

"</", имя тега, ">"

где имя тега – любая последовательность латинских букв и цифр, не длиннее 100 символов. Рассмотрим примеры тегов языка HTHL:

<b> <par> <hthl> <hacker2> <super>

</i> </hthl> </br> </hyper> </down>

При написании браузера для просмотра своих страниц, юные хакеры столкнулись с проблемой поиска слова на странице. Ведь некоторые теги (в примере - <b>, <i> и <u>) и соответствующие закрывающие теги (в примере - </b>, </i> и </u>) не разрывают слово. Например, при поиске слова hello комбинация h<b><i>el</i>l</b>o должна быть найдена. Ваша задача состоит в том, чтобы помочь юным хакерам в решении нелегкой проблемы поиска.

Входные данные

На первой строке входного файла находится число K (0 K 100) количество имен тегов, которые не разрывают слово. Следующие K строк содержат имена этих тегов.

На следующей строке находится N — количество строк в странице HTHL, в которой следует осуществлять поиск (1 N 100). Следующие N строк содержат текст страницы, все строки не длиннее 250 символов.

Следующая строка содержит число M — количество запросов (1 M 100). Затем следует M строк — слова, поиск которых следует осуществить в документе. Словом является любая последовательность латинских букв и цифр не длиннее 250 символов.

Гарантируется, что страница HTHL является корректной, т.е. все символы "<", "/" и ">" используются только в тегах, все теги записаны корректно.

Различие между большими и маленькими буквами следует игнорировать.

Выходные данные

Выведите в выходной файл M строк — для каждого слова выведите номер строки в странице, на которой оно впервые встречается, либо 0, если число не встречается на странице (Нумерация строк идет с 1).

Примеры
Входные данные
0
1
this page is very simple
5
this
page
is
very
simple
Выходные данные
1
1
1
1
1
Дана рамка (края прямоугольника единичного размера). Требуется определить, можно ли замостить рамку отрезками 1 на X.

Рассмотрим прямоугольник размером X × Y, из середины которого вырезали прямоугольник размером (X – 2) × (Y – 2). Назовем такую геометрическую фигуру рамкой размера X × Y. На рисунке 1 изображена рамка размера 5 × 6.

 

Рисунок 1. Рамка 5 × 6


Рисунок 2. Рамка 5 × 6, замощенная плитками 3 × 1

Предположим, что у нас имеется неограниченный запас плиток размера A × 1. Рассмотрим следующую задачу: можно ли полностью замостить рамку размера X × Y такими плитками (плитки разрешается поворачивать на 90 градусов). Например, рамку 5 × 6 можно полностью замостить плитками размера 3 × 1 (один из способов показан на рисунке 2), а плитками размера 4 × 1 – нельзя.

Входные данные

Первая строка входного файла содержит два целых числа – X и Y (3 ≤ X, Y, ≤ 106). Вторая строка содержит число N – количество видов плиток, которые следует проанализировать (1 ≤ N ≤ 1000). Третья строка содержит N натуральных чисел, не превышающих 106. Обозначим i-ое число третьей строки входного файла за Ai.

Выходные данные

Выведите в выходной файл N строк, i-ая строка должна содержать слово yes, если можно замостить рамку размера X × Y плитками размера Ai × 1, и no в противном случае.

Примеры
Входные данные
5 6
2
3 4
Выходные данные
yes
no

Страница: 1 2 3 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест