Завдання з інформатики
Задача Оранжерея (ORANGERY)
Дах оранжереї має форму правильного трикутника зі стороною N. Прямими, паралельними сторонам, дах поділено на скляні пластинки, які є правильними трикутниками зі стороною 1. У вершинах ці маленькі трикутники скріплено болтами. Болти пронумеровані послідовно натуральними числами, починаючи з 1, по рядках зверху до низу. У кожному рядку нумерація йде зліва направо. Аналогічним чином пронумеровані пластини (див. рисунок). Якщо один із болтів зламається, то всі з’єднані ним пластини стають ненадійними і можуть впасти. Інженер з техніки безпеки хоче дізнатись, які пластини можуть впасти, якщо зламається деякий болт.
Технічні умови: Напишіть програму ORANGERY, яка зчитує з
клавіатури два цілих числа: довжину сторони даху N та номер болта K, для якого потрібно здійснити перевірку. Програма має вивести номери ненадійних пластин у порядку зростання.
Обмеження: 1 ≤ N ≤ 65 535.
Приклад:
Введення
3 5 |
Виведення2 3 4 6 7 8 |
Задача Будинок (HOUSE)
Новий росіянин Вітек приватизував ділянку у Міждолинні розміром m квадратів з півночі на південь та n квадратів із заходу на схід. Він вирішив побудувати в межах цієї ділянки будинок розміром a квадратів з півночі на південь та b – з заходу на схід. Деякі квадрати радіоактивні, і Вітек не бажає на них будувати будинок. Крім того, Вітек хоче, щоб відстані від стін до границь ділянки вимірювались цілим числом квадратів. Довго обирав він місце для будинку, але так і не вибрав – занадто багато варіантів. А скільки? Розпочав наш герой рахувати, але не зумів – погано математику вчив. Допоможіть йому.
Формат введення/виведення:Напишіть програму HOUSE, яка зчитує числа m, n, a, b, k, де m, n – розміри ділянки, a, b – розміри будинку, k – кількість радіоактивних квадратів, а потім k пар чисел i, j, які не повторюються і визначають координати радіоактивних квадратів. Програма повинна вивести шукану кількість способів.
Обмеження: 1 ≤ a ≤ m ≤ 5000,
1 ≤ b ≤ n ≤ 5000,
0 ≤ k ≤ mn,
1 ≤ i ≤ m,
1 ≤ j ≤ n
Приклад:
Введення
5 7 2 4 3 2 5 3 3 3 6 |
Виведення
5 |
Задача Велосипед (BICYCLE)
Велосипедист збирається проїхати з пункту A в пункт B, відстань між якими становить l м. У нього є велосипед, який може развивати швидкість v м/c. Однак перед тем як виїхати, велосипедист може виконати деякі модернізації свого велосипеда. Для кожної модернізації відомо на скільки вона збільшує швидкість велосипеда, а також час, за який вона може бути виконана. Можна виконувати декілька різних модернізацій, проте кожна модернізація може бути виконана не більше одного разу. Допоможіть велосипедисту дістатись до пункту B якомога швидше.
Формат введення/виведення:Напишіть програму BICYCLE, яка зчитує три цілих числа: відстань між пунктами l, початкову швидкість велосипеда v та кількість різних модернізацій N. Далі йде N пар цілих чисел, кожна з яких визначає відповідну модернізацію: приріст швидкості після модернізації vi і час ti, що витрачається на цю модернізацію. Всі величини задано у системі СІ (метри та секунди). Необхідно вивести з точністю не менше 10−6 мінімальний час, який потрібно велосипедисту для того, щоб доїхати з пункту A у пункт B з врахуванням часу на модернізації.
Обмеження:
0 ≤ l ≤ 109, 1 ≤ v ≤ 106,
0 ≤ N ≤ 100, 0 ≤ vi ≤ 1000,
0 ≤ ti ≤ 1000.
Приклад:
Введення
100 5 1 3 10 |
Виведення
20.000000000 |
Введення
100 5 2 5 3 5 3 |
Виведення
12.666666667 |
Адреса сатйта олімпіади //www.olymp.vinnica.ua/index_ua.php?lng=ua&cid=943
|