Заочна олімпіада з інформатики
Хмельницька область 2007 - 2008
Четвертий тур
10.12.2007 - 20.12.2007
Тур проводять:
| У вищій лізі | - Мельник Валентин Іванович, вчитель ліцею інформаційних технологій м.Олександрія Кіровоградської області |
| У першій лізі | - Стукалова Ірина Володимирівна, |
Увага!
Під час залікових турів розв'язки дозволяється надсилати тільки один раз за вказаними адресами.
УМОВИ ЗАВДАНЬ |
|
| ВИЩА ЛІГА | ПЕРША ЛІГА |
Розв'язки приймаються за адресою
mvi_7@rambler.ru до 20 грудня 2007 року включно.
Копію надіслати на адресу: zoi_2007@i.ua
В темі листа слід вказати: ZOI_2007
Cпіраль
Спіраль – це ламана не нульової довжини без самоперетинів, вершини якої розташовані у точках з цілими координатами на площині. Кожна наступна ланка ламаної повинна бути повернута відносно попередньої на 90º за годинниковою стрілкою.
Розглянемо прямокутник N на M (1≤ N , M ≤20). Нехай для кожної спіралі її перша вершина співпадає з лівою верхньою вершиною прямокутника, а друга лежить на верхній стороні прямокутника.
Новий Прем’єр-міністр в умовах енергетичної кризи хоче налагодити випуск спіралей. Його цікавить кількість таких спіралей.
Напишіть програму, яка визначає кількість таких спіралей, що лежать в межах даного прямокутника.
Формат вхідних даних: текстовий файл SPIRAL.DAT містить два цілих числа N та M.
Формат вихідних даних: текстовий файл SPIRAL.SOL має містити одне число – кількість знайдених спіралей.
Приклад вхідних та вихідних даних:
SPIRAL.DAT |
SPIRAL.SOL |
2 2 |
16 |

Цікава гра
Нехай є деяке число N. За одну операцію кожному гравцю дозволяється ділити дане число націло (звичайне ділення з видаленням дробової частини результату) на будь-яке число, не менше за 2 і не більше за M. Програє той хто отримає в результаті 0. Гравці ходять по черзі. Знайдіть хто виграє, при оптимальній грі кожного з гравців.
Технічні вимоги:
Вхідний файл: GAME.IN
Вихідний файл: GAME.OUT
Обмеження часу: 1 секунда
Формат вхідних даних: у першому рядку вхідного файлу GAME.IN міститься єдине число К (1 ≤ K ≤ 10000) – кількість тестових блоків у файлі. В кожному наступному рядку міститься один тестовий блок, який складається з двох цілих чисел N та M, 2 ≤ N ≤ 1000000000 та 2≤ M ≤ N.
Формат вихідних даних: у файл GAME.OUT для кожного з тестових блоків у окремому рядку виведіть 1, якщо при даних N та M виграє перший гравець, і 2 - якщо другий.
Приклад вхідних та вихідних даних:
GAME.IN |
GAME.OUT |
2 |
1 |
Грошова реформа
Правитель двійкової планети Бінаріляндії президент Бінар вирішив зробити грошову реформу, тепер цінність кожної купюри достоїнством в P бінарів буде кількість одиничних бітів в двійковому записі числа P. Опозиціонер Дециміал, який для зміцнення зв’язків з планетою Земля вже давно пропонував ввести десяткову систему числення, а також змінити назву планети на Дециміаляндію і ім’я президенту (на яке, досить не повідомляється) думає що це сильно вдарить по його капіталу. Він має по одній купюрі достоїнства L, L +1, L +2 … R –1, R бінарів. Вам, як справжнім патріотам десяткової системи числення необхідно якнайшвидше допомогти Дециміалу, і знайти який капітал буде у нього після грошової реформи.
Технічні вимоги:
Вхідний файл: BINARY.IN
Вихідний файл: BINARY.OUT
Обмеження часу: 1 секунда
Формат вхідних даних: у єдиному рядку вхідного файлу BINARY.IN знаходиться два числа L та R (1 ≤ L ≤ R ≤ 10^50). Числа відокремлені рівно одним пробілом і не мають ведучих нулів.
Формат вихідних даних: у файл BINARY.OUT запишіть одне число - суму бінарів Дециміала після грошової реформи.
Приклад вхідних та вихідних даних:
BINARY.IN |
BINARY.OUT |
1 10 |
17 |
Примітка.
Приклад листа четвертого туру учасника вищої ліги з кодом 005.
Кому: mvi_7@rambler.ru
Копія: zoi_2007@i.ua
Тема: ZOI_2007
Зміст листа:
Прошу перевірити розв'язки задач четвертого туру.
Учасник вищої ліги з кодом 005. (Не можна підписувати листи прізвищами)
Вкладка: файли U005T4Z1.PAS, U005T4Z2.PAS, U005T4Z3.PAS на початок
Розв'язки приймаються і аналізуються за адресою irina78@rel.com.ua до 20.12.2007 включно.
Копію надіслати на адресу: zoi_2007@i.ua
В темі листа слід вказати: ZOI_2007
Питання, щодо умов задач приймаються за адресою irina78@rel.com.ua до 20 грудня 2007 включно.
Ключ-1 (40 балів)
У зв'язку з тим, що фермери Дієтенко та Вампіров багато займалися обчисленнями, вони дуже полюбляли різні числові головоломки. Особливо любили обмінюватися шифрованими повідомленнями електронною поштою. Ключ до шифру потрібно було обчислити якнайшвидше, тому що повідомлення зберігалось у поштовій скриньці лише два дні. Одного разу фермер Дієтенко прислав фермеру Вампірову чергову шифровку та деяке ціле число N. Ключем до шифру було найменше додатне ціле число, добуток цифр якого дорівнює N. Допоможіть фермеру Вампірову прочитати повідомлення.
Вхідні дані: у текстовому файлі Z1.dat міститься число N (0<=N<=2147483647)
Вихідні дані: у текстовий файл Z1.sol записати шукане ціле число або 0, якщо такого числа немає.
Приклад вхідних та вихідних даних:
1)
Z1.dat |
Z1.sol |
0 |
10 |
2)
Z1.dat |
Z1.sol |
5 |
5 |
3)
Z1.dat |
Z1.sol |
21 |
37 |
4)
Z1.dat |
Z1.sol |
11 |
0 |
Ключ-2 (30 балів)
Після того, як фермер Вампіров розшифрував повідомлення фермера Дієтенка, звісно, він не зміг залишитися у боргу, та послав повідомлення у відповідь, яке також було зашифроване. Ключем до шифру було додатне ціле число, яке можна було отримати з надісланого N, викресливши одну цифру так, щоб число, яке залишиться було якнайбільшим. Допоможіть тепер фермеру Дієтенку розшифрувати повідомлення.
Вхідні дані: у текстовому файлі Z2.dat записано рядок тексту довжиною не більше, ніж 100000 та не менше ніж 2, символами якого є цифри числа N.
Вихідні дані: у текстовий файл Z2.sol записати рядок тексту з отриманим числом.
Приклад вхідних та вихідних даних:
1)
Z2.dat |
Z2.sol |
321 |
32 |
2)
Z2.dat |
Z2.sol |
123 |
23 |
Найкращий кролик (30 балів)
Як відомо, фермери Дієтенко і Вампіров постійно конкурували один з одним. Кожен хотів довести іншому, що його кролики кращі. Але, у зв'язку з тим, що обидва мали неабиякий хист до математики, просто шукати найбільшого кролика їм було нецікаво. Тому найкращим вважався той кролик, вага якого виражалася простим числом та при цьому сума цифр цього числа була якомога більшою. Для перевірки фермери вибрали по N своїх кроликів. Допоможіть фермерам Дієтенку і Вампірову розв'язати цю суперечку і вибрати найкращого кролика.
Вхідні дані: у першому рядку текстового файла Z3.dat міститься число N - кількість кроликів, яких представив кожен фермер (значення N не перевищує 1000). Далі слідують 2*N рядків, у кожному з яких записана маса одного кролика.Для зручності фермери записували масу кролика у грамах. Тому всі числа – натуральні. Причому у перших N рядках записані дані про кроликів фермера Вампірова, а в наступних N рядках - кролики фермера Дієтенка.
Вихідні дані: у перший рядок текстового файлу Z3.sol запишіть букву V, якщо переміг фермер Вампіров, або букву D, якщо переміг фермер Дієтенко. У другий рядок запишіть масу кролика-перможця.
Якщо у жодного кролика маса не буде виражатися простим числом, або маси кроликів-переможців у фермерів співпадають, у файл Z3.sol запишіть єдиний рядок, що містить словo "draw".
Приклад вхідних та вихідних даних:
1)
Z3.dat |
Z3.sol |
4 |
V |
2)
Z3.dat |
Z3.sol |
2 |
draw |
Примітка.
Приклад листа четвертого туру учасника першої ліги з кодом 505.Кому: irina78@rel.com.ua
Копія: zoi_2007@i.ua
Тема: ZOI_2007
Зміст листа:
Прошу перевірити розв'язки задач четвертого туру.
Учасник першої ліги з кодом 505. (Не можна підписувати листи прізвищами)
Вкладка: файли U505T4Z1.PAS, U505T4Z2.PAS, U505T4Z3.PAS на
початок