Задача A. Автомобильные номера

Автор:VI Всероссийская командная олимпиада школьников по программированию   Ограничение времени:2 сек
Входной файл:numbers.in   Ограничение памяти:64 Мб
Выходной файл:numbers.out  

Условие

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

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

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

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

В номере могут использоваться следующие буквы: "A", "B", "C", "E", "H", "K", "M", "O", "P", "T", "X", "Y" (эти буквы имеют схожие по написанию аналоги как в русском, так и в латинском алфавите). В этой задаче во входном файле будут использоваться буквы латинского алфавита.

Формат входного файла

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

Формат выходного файла

В первой строке выходного файла выведите число k — количество номеров, которые могут получиться из заданного перестановкой букв и/или цифр. В последующих k строках выведите все такие номера в произвольном порядке.

Примеры тестов

Входной файл (numbers.in) Выходной файл (numbers.out)
1
X772KX
9
X277XK
X277KX
X727XK
X727KX
X772XK
X772KX
K277XX
K727XX
K772XX

Задача B. Судьба математика

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:16 Мб
Выходной файл:output.txt  

Условие

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

В городе, где они живут, телефонные номера состоят из 6 цифр от 0 до 9 в любой комбинации (например, 000999 — правильный телефонный номер).

Между цифрами номера возможны 6 видов отношений: >, <, =, <=, >=, <>. Например, 2>5 означает, что вторая цифра в номере больше, чем пятая.

Формат входного файла

В каждой строке входного файла содержится одно отношение, состоящее из двух различных номеров цифр от 1 до 6, между которыми стоит один из знаков >, <, =, <=, >=, <>. Внутри строки пробелов нет.

Формат выходного файла

В выходном файле должно содержаться единственное число — количество номеров.

Ограничения

Количество отношений находится в диапазоне от 1 до 30.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1&lt;2
3=1
3&gt;4
12000

Задача C. Уравнение для 5 класса

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Уравнение для пятиклассников представляет собой строку длиной 5 символов. Второй символ строки является либо знаком '+' (плюс) либо '-' (минус), четвёртый символ — знак '=' (равно). Из первого, третьего и пятого символов ровно два являются цифрами из диапазона от 0 до 9, и один — буквой x, обозначающей неизвестное.

Требуется решить данное уравнение относительно x.

Формат входного файла

Входной файл содержит единственную строку — уравнение.

Формат выходного файла

В выходной файл следует вывести единственное целое число — значение x.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
x+5=7
2
2
3-x=9
-6

Задача D. Кратные тройки

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:4 Мб
Выходной файл:output.txt  

Условие

Дана последовательность различных целых чисел A1, A2, …, AN. Требуется подсчитать количество таких троек (Ai, Aj, Ak), что i ≠ j, i ≠ k, j < k и Ai нацело делится как на Aj, так и на Ak. Например, в последовательности 1 3 2 4 6 таких троек четыре: 6 3 2, 6 1 3, 6 1 2, 4 1 2.

Рекомендуется рассмотреть частичные решения для следующих случаев

Формат входного файла

Входной файл содержит число N, за которым следуют N чисел A1 A2… AN.

Формат выходного файла

Выходной файл должен соджержать единственное число — количество троек.

Ограничения

3 ≤ N ≤ 1000, 1 ≤ Ai ≤ 109

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3
1 2 3
0
2
4 2 4 8 16
4

Задача E. Календарная перестановка

Автор:А. Кленин, И. Олейников, И. Туфанов   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  

Условие

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

По данным двум датам, состоящим из трёх чисел каждая, требуется найти порядок, в котором следует записать компоненты обеих дат, чтобы выполнялись следующие условия:

  1. Даты соответствуют правилам календаря: в году 12 месяцев, количество дней в месяцах равно 31,28,31,30,31,30,31,31,30,31,30,31. Годы, номера которых делятся на 4, но не делятся на 100, являются високосными. Годы с номерами, делящимися на 400, также високосные. В високосный год в феврале 29 дней.
  2. Дата начала события должна предшествовать дате окончания. Даты НЕ должны совпадать.

Формат входного файла

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

Формат выходного файла

Выведите три числа — номера компонент описывающих день, месяц и год. Если существует несколько решений, выведите любое из них. Если решения не существует, выведите -1. В первом примере даты расшифровываются как: 5 ноября 2005 и 4 октября 2006.

Ограничения

Все числа натуральные и не превосходят 3000.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
5 2005 11
4 2006 10
1 3 2
2
7 8 9 9 8 7
3 2 1
3
1000 1000 1000 1 1 1
-1

0.368s 0.012s 21