Летние сборы для школьников Башкортостана по информатике 2007 Второй тур Задача A Два числа Имя входного файла: Имя выходного файла: Максимальное время работы на одном тесте: Максимальный объем используемой памяти: two.in two.out 1 секунда 64 мегабайта Даны два целых пятизначных числа X и Y. За один ход разрешается заменить любую цифру в числе на сумму цифр числа, взятую по модулю 10. Требуется построить минимальную цепочку ходов, которая начинается с числа X и заканчивается числом Y. Формат входных данных В первой строке - два числа X и Y (числа могут содержать ведущие нули). Формат выходных данных Выведите длину минимальной цепочки ходов или -1, если цепочки ходов из X в Y не существует. Примеры two.in 12345 12547 two.out 3 Примечание: в примере минимальная цепочка имеет вид 12345, 12545, 12547 Задача B Махинации с валютой Имя входного файла: Имя выходного файла: Максимальное время работы на одном тесте: Максимальный объем используемой памяти: currency.in currency.out 1 секунда 64 мегабайта Петя, изучая, как меняется курс рубля по отношению к доллару и евро, вывел закон, по которому происходят эти изменения (или думает, что вывел). По этому закону Петя рассчитал, каков будет курс рубля по отношению к доллару и евро в ближайшие N дней. У Пети есть 100 рублей. В каждый из дней он может обменивать валюты друг на друга по текущему курсу без ограничения количества (при этом курс доллара по отношению к евро соответствует величине, которую можно получить, обменяв доллар на рубли, а потом эти рубли — на евро). Поскольку Петя будет оперировать не с наличной валютой, а со счетом в банке, то он может совершать операции обмена с любым (в том числе и нецелым) количеством единиц любой валюты. Напишите программу, которая вычисляет, какое наибольшее количество рублей сможет получить Петя к исходу N-го дня. Законы изменения курсов устроены так, что в течение указанного периода рублевый эквивалент той суммы, которая может оказаться у Пети, не превысит 108 рублей. Формат входных данных Первая строка входного файла содержит одно число N (1N5000). В каждой из следующих N строк записано по 2 числа, вычисленных по Петиным законам для соответствующего дня — сколько рублей будет стоить 1 доллар, и сколько рублей будет стоить 1 евро. Все эти значения не меньше 0.01 и не больше 10000. Значения заданы точно и выражаются вещественными числами не более, чем с двумя знаками после десятичной точки. Формат выходных данных В выходной файл выведите искомую величину с точностью не менее двух знаков после десятичной точки. Примеры currency.in 4 1 10 10 5.53 5.53 1.25 6 5 currency.out 4000.00 Летние сборы для школьников Башкортостана по информатике 2007 Второй тур Задача C Суперквадрат Имя входного файла: Имя выходного файла: Максимальное время работы на одном тесте: Максимальный объем используемой памяти: supersquare.in supersquare.out 1 секунда 64 мегабайта Суперквадратом порядка N называется таблица размером N*N, каждая строка и каждый столбец которой содержат все числа от 1 до N. Дан суперквадрат порядка N. Требуется найти все суперквадраты, содержащиеся в данном, порядок которых отличен от 1 и от N. Формат входных данных Первая строка содержит число N (1<=N<=250). Далее следует N строк, содержащих по N чисел. Формат выходных данных В первую строку вывести число K – количество найденных суперквадратов. Далее следует K строк, описывающих эти суперквадраты в произвольном порядке. Каждая строка содержит 3 числа, разделенные пробелами: координаты левого верхнего угла суперквадрата в порядке “строка, столбец” и порядок данного суперквадрата. Примеры supersquare.in 3 1 2 3 8 5 6 7 8 1 2 3 4 supersquare.out 0 2 3 3 1 1 2 6 7 8 5 4 1 2 3 7 8 5 6 2 3 4 1 8 5 6 7 3 4 1 2 1 2 3 4 5 6 7 8 2 1 4 3 6 7 8 5 3 4 2 1 7 8 5 6 Задача D 4 1 1 3 5 4 3 1 2 8 5 6 7 5 5 7 1 2 4 2 4 Счастливые билеты Имя входного файла: Имя выходного файла: Максимальное время работы на одном тесте: Максимальный объем используемой памяти: tickets.in tickets.out 1 секунда 64 мегабайта Билет, на котором написано некоторое 2*N-значное число (возможно с ведущими нулями) называется счастливым, если сумма первых N цифр равна сумме последних N цифр. Требуется найти количество различных счастливых билетов. Формат входных данных В каждой строке записано число N (1<=N<=50). Формат выходных данных В первой строке выведите количество 2*N-значных счастливых билетов. Примеры tickets.in 3 tickets.out 55252