---> 3 задач <---
Источники --> Командные олимпиады --> Командные чемпионаты школьников Санкт-Петербурга по программированию
    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.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 на 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
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

В 314 уровне компьютерной игры "Болото 2" лягушонку Квайту предстоит решить непростую задачу. На прямой расположены \(n\) листьев водяной лилии, на каждом из которых сидит большая муха. Находясь на одном из листьев, он может прыгнуть на соседний лист или перепрыгнуть через один лист в любую сторону и съесть сидящую там муху.

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

Для того, чтобы продолжать приключения, Квайту необходимо съесть всех мух, начав свой путь с листа номер \(a\) и закончив на листе номер \(b\) (листья пронумерованы вдоль прямой последовательными натуральными числами, начиная с единицы).

Помогите Квайту пройти этот уровень.

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

Во входном файле записаны три целых числа, разделенных пробелами \(n\), \(a\) и \(b\) (\(2\le n\le 1000\), \(1\le a, b\le n\), \(a \ne b\)).

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

В выходной файл выведите \(n - 1\) число - последовательность прыжков, которые нужно сделать Квайту. Прыжок задается числом \(-2\), \(-1\), \(1\) или \(2\), это число означает разность между номером листа, на котором оказывается Квайт, и номером листа, на котором он находится перед прыжком.

Если не существует пути, удовлетворяющего требованиям, выведите одно число 0.

Примеры
Входные данные
5 2 4
Выходные данные
-1
2
2
-1
Входные данные
4 2 3
Выходные данные
0

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