ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Выбрано 4 задачи
Версия для печати
Убрать все задачи

Современные системы управления базами данных поддерживают широкий класс различных операций с датами. Для решения этой задачи Вы должны написать программу, реализующую некоторые из таких операций. Ваша программа должна обрабатывать выражения следующих типов:
    <Дата>
    <Дата> + <Сдвиг>
    <Дата> - <Сдвиг>
    <Дата> - <Дата>

Здесь <Дата> задается в одном из следующих трех форматов:
А) дд.мм.гггг (например, 21.06.1998 ). В этой записи день и месяц задаются в точности двумя десятичными цифрами, год – ровно четырьмя.
Б) д месяца г года (например, 21 июня 1998 года ). В этом формате могут присутствовать ведущие нули (например, 01 июня 198 года ).
В) сегодня – текущая дата, установленная в компьютере.
<Сдвиг> задается в виде [L лет ] [M месяцев ] [N недель ] [D дней ]. Квадратные скобки здесь означают, что некоторые из указанных четырех составных частей могут опускаться (но не все сразу). Слова «лет», «месяцев», «недель», «дней» склоняются по правилам русского языка: 1 год, 5 лет, 2 месяца, 5 месяцев и т.д. 

Значением выражений первых трех типов является дата. В случае выражения первого типа значением является сама <Дата>. В случае выражений второго и третьего типа вычисление искомой даты происходит следующим образом: сначала прибавляется (либо вычитается) L лет, затем M месяцев, после чего N недель и, наконец, D дней. Если в течение этого процесса получается несуществующее число месяца, то берется последнее число этого месяца (см. пример). Результатом выражения четвертого типа является количество дней между двумя указанными датами. 

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

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

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

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

Пример входного файла

30 января 1998 года + 1 месяц 1 день
21 июня 1998 года - 1.06.1998

Пример выходного файла

1 марта 1998 года, воскресенье
20

Вниз   Решение


Плоская выпуклая фигура ограничена отрезками AB и AD и дугой BD некоторой окружности (рис.1). Постройте какую-нибудь прямую, которая делит пополам: а) периметр этой фигуры; б) её площадь.

ВверхВниз   Решение


Раскраска вершин графа называется правильной, если вершины одного цвета не соединены ребром. Некоторый граф правильно раскрашен в k цветов, причём его нельзя правильно раскрасить в меньшее число цветов. Докажите, что в этом графе существует путь, вдоль которого встречаются вершины всех k цветов ровно по одному разу.

ВверхВниз   Решение


На лугу, имеющем форму квадрата, имеется круглая лунка. По лугу прыгает кузнечик. Перед каждым прыжком он выбирает вершину и прыгает по направлению к ней. Длина прыжка равна половине расстояния до этой вершины.
Сможет ли кузнечик попасть в лунку?

Вверх   Решение

Задачи

Страница: << 1 2 3 4 5 6 7 >> [Всего задач: 77]      



Задача 88302

Темы:   [ Комбинаторная геометрия (прочее) ]
[ Правильный (равносторонний) треугольник ]
[ Раскраски ]
Сложность: 2+
Классы: 6,7,8

Плоскость раскрашена в два цвета. Докажите, что найдутся две точки одного цвета на расстоянии 2004 м.
Прислать комментарий     Решение


Задача 34967

Темы:   [ Комбинаторная геометрия (прочее) ]
[ Системы точек и отрезков. Примеры и контрпримеры ]
Сложность: 2+
Классы: 7,8,9

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


Задача 35094

Темы:   [ Комбинаторная геометрия (прочее) ]
[ Наименьший или наибольший угол ]
[ Принцип Дирихле (углы и длины) ]
Сложность: 3
Классы: 8,9,10

На окружности отмечено n точек, причём известно, что для каждых двух отмеченных точек одна из дуг, соединяющих их, имеет величину, меньшую 120°. Докажите, что все точки лежат на одной дуге величиной 120°.

Прислать комментарий     Решение

Задача 35500

Темы:   [ Комбинаторная геометрия (прочее) ]
[ Наглядная геометрия в пространстве ]
[ Многогранники и многоугольники (прочее) ]
[ Разные задачи на разрезания ]
Сложность: 3
Классы: 9,10

Петя склеил многогранник, затем разрезал его по рёбрам на отдельные грани, сложил в конверт и послал Ване.
Верно ли, что Ваня склеит из этих граней такой же многогранник, какой был у Пети?

Прислать комментарий     Решение

Задача 64484

Тема:   [ Комбинаторная геометрия (прочее) ]
Сложность: 3
Классы: 9,10,11

Может ли объединение двух треугольников оказаться 13-угольником?

Прислать комментарий     Решение

Страница: << 1 2 3 4 5 6 7 >> [Всего задач: 77]      



© 2004-... МЦНМО (о копирайте)
Пишите нам