Турніри Школи Олімпійського Резерву "Step by Step"

Рекомендуємо ознайомитися з правилами участі у турнірах Школи Олімпійського Резерву "Step by Step"
Рейтинг учасників турнірів

Динамічний старт
класифікація: "medium"
дата старту: 2009-09-22
дата завершення: 2009-09-28
турнір проводить: Зубик В.В.
к-ть учасників:  10 
результати турніру

опис турніру:

Якщо перший турнір навчального року називається «Динамічний старт», то зовсім не важко передбачити, що останній турнір буде мати назву «Щасливий фініш». Що ж, поживемо – побачимо.

Завдання на турнір >>
задача 1. "Matches"
кількість балів: 40

Петя і Діма, улюблені учні Василя Івановича, любили гру «Сірнички». Є купка з K (3<=K<=100 000 000) сірників. Хлопці по черзі беруть з купи не більше L(2<=L<K) сірників. Виграє той, хто забере останні сірники. Петя завжди ходить першим, а Діма завжди вибирає перед грою L – максимальне число сірників, які можна за раз взяти з купи. Складіть програму, яка допоможе Дімі вибрати таке найменше число L, що при найкращій грі обох хлопців забезпечить виграш Дімі.

Формат вхідних даних. Стандартний вхідний потік містить число K.

Формат вихідних даних. У стандартний вихідний потік вивести число L. Якщо такого числа немає, то вивести 0.

Формат вхідних та вихідних даних.
Вхід дані
3

Вихідні дані
2

задача 2. "Numbers"
кількість балів: 30

Хто із вас не пробував шукати щасливі номери на різних проїзних квитках? Думаю, що майже всі знають таку забаву і вірять у щасливий квиток. Нагадаю, що щасливим ми називаємо номер, у якому сума першої половини цифр дорівнює сумі другої половини цифр числа. Тепер для вас задача: складіть програму, що знайде кількість щасливих квитків, що мають довжину номера 2N (1<=N<=5).

Формат вхідних даних. У першому рядку вхідного файлу numbers.in міститься K(1<=K<=5) – кількість тестів. У наступних K рядках - по одному числу N.

Формат вихідних даних. У вихідний файл numbers.out для кожного тесту в окремому рядку вивести кількість щасливих номерів.

Приклад вхідних та вихідних даних.
numbers.in
1
1

numbers.out
10

задача 3. "Rally"
кількість балів: 30

Василь Іванович мчить на своєму Горбатому по раллійні трасі у місті Слівен. На рівному асфальтовому покритті, що з шаленою швидкістю несеться назустріч гордості вітчизняного автопрому, у двох стовпчиках крейдою написані цілі числа. Числа швидко пропадають десь під автомобілем, а Василь Іванович чітко знає: йому обов’язково треба знайти серед них два таких, що містяться в різних стовпцях і їх сума буде дорівнювати 10000 – тільки в цьому випадку його Горбатий зможе зупинитися. Попереду вже видно фініш – бетону плиту, що перегороджує дорогу. Чоло Василя Івановича покрилося потом, голова напружено перебирає та сумує числа і ніяк не знаходить потрібні… Все, – подумав Василь Іванович – тепер каюк моєму Горбатому. І прокинувся. Ох і присниться таке перед першим вересням… Сон пішов, Горбатий мирно ржавіє під вікном, а задачка в голові Василя Івановича залишилася. Задачка, звичайно, проста, але чисел багато. Допоможіть вчителеві позбутися цієї рутинної роботи і складіть програму, яка з двох списків цілих чисел знайде такі, що містяться у різних списках і в сумі дають 10000.


Формат вхідних даних. У першому рядку вхідного файлу rally.in міститься N1 – кількість чисел у першому списку. Дальше, у наступних N1 рядках ідуть самі числа. Потім N2 – кількість чисел у другому списку і знову самі числа. N1, N2 не більші 50000, а цілі числа по модулю не перевищують 32767.


Формат вихідних даних. У вихідний файл rally.out вивести в одному рядку два числа: перше із першого списку, друге – з другого, що їх сума дорівнює 10000. Якщо таких пар багато, то вивести будь-яку. У випадку відсутності потрібних чисел вивести «Kaput»:(


Приклад вхідних та вихідних даних.
rally.in
4
129
12
12
10124
3
258
-124
529

rally.out
10124 -124

 


назад у розділ "Турніри"