`
Шановні учасники олімпіади!
Пропонуємо вашій увазі задачі 2-го
туру. Максимальне число балів, що можна набрати у цьому турі - 200. Листи з рішеннями, оформлені за правилами(!), відправляйте за адресою olymp@olymp.vinnica.ua у будь-який зручний для вас час з 22 жовтня 2000 р.по 7 листопада 2000 м. Наш робот відразу вам повідомить, чи отриманий ваш лист. Якщо по якійсь причині ваш розв'язок не компілірується, робот повідомить вам про це й і спробує пояснити причину. У цьому випадку можете відправити його повторно. Якщо ж розв'язок буде прийнято, повторні розв'язки однієї і тієї ж задачі робот розглядати не буде.Йдучи назустріч великокій кількості ваших прохань, ми продовжимо приймати розв'язки задач 1-го туру до 25 жовтня
, а 28 жовтня плануємо оголосити результати 1-го туру (помістити на сервері www.olymp.vinnica.ua і розіслати учасникам). Третій тур буде розсилатися орієнтовно 4 листопада 2000 р.Оргкомітет і журі олімпіади.
Задача
BANK2(
надана комерційним банком)У нашому банку два відділення. До початку робочого дня в кожному з них достатньо коштів для проведення грошових операцій. А операції ми проводимо нетрадиційно - сума грошей, що перераховуються за одну операцію, завжди та сама. Ми можемо видавати гроші клієнтам, одержувати їх від клієнтів і переводити з одного нашого відділення в інше. Наприкінці кожного дня директор банку вимагає звіт про те, як змінилися наші активи (тобто з прибутком ми або зі збитками). Вчора уперше виявилося так, що ні прибутку, ні збитків не було
- ми залишилися при своїх… Я довго не вірив у це, перевіряв ще раз кожну операцію і їхнє проходження друг за другом. Скількома можливими способами могли бути проведені операції.Обмеження
:1<=N<=15, де N - кількість проведених операцій.
Введення - вивід :
Приклад:
Введення
> 2Вивід
> 6[Було проведено дві операції. Варіантів проведення
: 6.Ці варіанти
:1.1) Переказ із першого відділення в друге, 2) Переказ із першого в друге;
2.1) Переказ із першого в друге, 2) Переказ із другого в перше;
3.1) Переказ із другого в перше, 2) Переказ із першого в друге;
4.1) Переказ із другого в перше, 2) Переказ із другого в перше;
5.1) Видача грошей, 2) Одержання грошей;
6.1) Одержання грошей, 2) Видача грошей.]
Задача
MILITARY2(знову надана міністерством оборони)
Герой задачі Military, сержант із надзвичайними математичними здібностями, вирішив усе-таки навчити новобранців ставати в колону по одному. Він узяв шістьох бійців різного зросту, і грізним голосом крикнув "Шикуйсь! ".Стали новобранці, зрозуміло, знову, як прийшлося. Але сержант цього разу вирішив діяти суворо по науці. Він довго і старанно пояснював новобранцям, що широко відкрили рот, зміст нових команд. По команді "1" перші чотири новобранці повинні перешикуватися в оберненому порядку, по команді "2" перешикуватися в оберненому порядку повинні новобранці, починаючи з другого і, закінчуючи
п'ятим, а по команді "3" в оберненому порядку перешикуватися ті, хто в колоні займає місця, починаючи з третього по шосте. Сержант голосним голосом викрикував номера команд у якійсь одному йому відомій послідовності, а перелякані рекрути старанно їх виконували. Нарешті колона стала такою, якою вона повинна бути за статутом, тобто солдати стояли по росту.Скільки команд і в якій послідовності подавав сержант?
Обмеження:
Зріст новобранців вимірюється в сантиметрах і не перевищує 250.
Рішення завжди існує, тобто солдат завжди можна вишикувати по росту. При цьому першим повинен стояти найвищий, а останнім - найнижчий солдат. Якщо існує декілька рішень, можна вивести будь-яке з них.
Введення -вивід:
Приклад:
Введення> 170 172 178 196 189 185
Вивід> 3
Вивід> 1
Вивід> 2
Вивід> 3
[У цьому прикладі новобранці переміщаються так:
Початкове положення
: 170 172 178 196 189 185;Після першої команди
: 196 178 172 170 189 185;Після другої команди
: 196 189 170 172 178 185;Після третьої команди
: 196 189 185 178 172 170. ]Задача DOMINO2
(надана дворовим клубом аматорів гри в "козла")
Один наш активіст Семен Семенович Настойкін, витрачаючи час у чеканні черги на гру, зробив наступне. З стандартного набору доміно він вилучив усі камінці, на одній половинці яких є більш ніж
N точок. З камінців, що залишилися, він склав на столі прямокутник, а потім накреслив усе це у вигляді таблиці, кожна комірка котрої - половинка камінця доміно, а вміст - число точок на цій половинці. Семен Семенович показав нам малюнок і запропонував скласти вихідну картинку з камінців, якими ми грали. Непотрібної кістки ми відклали убік швиденько, а от розкласти ті,що залишилися не можемо вже котрий день . Навіть у "козла" закинули грати - усе розкладаємо. Допоможіть нам.Обмеження:
1<=N<=6.Розв'язок завжди існує. Якщо існує декілька розв'язків, достатньо знайти будь-який з них.
Введення-вивід:
Програма повинна прочитати з клавіатури: з першого рядка - число N, з другого рядка - розміри таблиці H і W, а з наступних H рядків по W чисел - кількість точок на половинці камінця доміно.
Програма повинна вивести на екран H рядків по W чисел у кожній. Кожне число - код того камінця доміно, якому належить половинка, що знаходиться в даній клітинці таблиці. Камінець "X:Y" кодується числом X*10+Y, якщо X<=Y.
Приклад:
Введення
> 2Введення
> 3 4Введення
> 0 0 1 2Введення
> 0 1 1 1Введення
> 0 2 2 2Вивід
> 0 1 11 12Вивід
> 0 1 11 12Вивід
> 2 2 22 22Задача GAME2
(знову надана читачем популярних книг по інформатиці)
Пропоную Вашій програмі пограти з мною в таку гру. Я (або Ваша програма) називає натуральне число від 2 до 9, супротивник множить його на будь-яке натуральне число від 2 до 9, той, хто починав
- знову множить результат на натуральне число від 2 до 9, і т.д. Виграє той, хто перший одержить число, більше заданого позитивного числа С.Обмеження:
10<=C<=50000
Введення/вивід:
Спочатку програма повинна прочитати з клавіатури два числа: C і P, де P дорівнює 1, якщо програма повинна починати гру , або 2, коли програма повинна грати за другого гравця. Потім програма повинна по черзі виводити свій хід або вводити хід супротивника з клавіатури. Програма повинна закінчити роботу, коли гра завершиться.
Приклад:
Введення
> 50 1Вивід
> 3Введення
> 4Вивід
> 5[Програма почала гру і перемогла, отримавши останнім ходом добуток
3*4*5=60>50]Задача GRAPH2
Одержав я вчора завдання намалювати картинку розміром H на W пікселів, обгортку для цукерок "Сосиска в шоколаді". Творчість
- процес тонкий, натхнення потрібне. А тут - як сокирою відрубало, нічого не виходить… Від безвихідності я намалював на білому екрані червону замкнуту лінію, товщиною в один піксель. Скільки пікселів виявилося в області, обмеженою червоною лінією?Для тих, хто не знаком із комп'ютерною графікою
- піксель має форму квадратика.Обмеження
:1<H,W<=100
Кожний червоний піксель має спільні сторони рівно з двома червоними пікселями.
Введення
/вивід:Програма повинна прочитати з клавіатури
: з першого рядка - два числа H і W, а з наступних H строчок по < /FONT>W чисел. Червоний піксель позначається одиницею, білий - нулем.Програма повинна вивести на екран результат - число пікселів, обмежених лінією.
Приклад
:Введення
> 5 7Введення
> 0 0 0 1 1 1 0Введення
> 0 1 1 1 0 1 0Введення
> 0 1 0 0 0 1 0Введення
> 0 1 1 1 1 1 0Введення
> 0 0 0 0 0 0 0Вивід
> 4© LIKT 1998-2024