`Всеукраїнський центр проведення олімпіад в мережі Інтернет

Василіск (basilisk)

Герміона Грейнджер здогадалася, хто ховається у Таємній кімнаті Хогвардса. Це був василіск, від погляду якого гине все живе. Щоб не загинути у Таємній кімнаті, Герміоні потрібно було дивитися на себе через дзеркало, причому дзеркало повинно бути обов’язково квадратним та розташованим паралельно обличчю Герміони на відстані L. Герміона повинна тримати голову прямо (не нахиляючи) та стояти строго вертикально у сильно освітленій кімнаті.

Обличчя Герміони являє собою еліпс, велика (вертикальна) піввісь якого дорівнює R1, мала (горизонтальна) — R2. Очі Герміони також являють собою еліпси, розташовані на малій піввісі обличчя симетрично відносно його центра. Піввісі кожного ока рівні: великі (горизонтальні) — по R3, малі — по R4. Відстань між центрами очей дорівнює d.

При якому мінімальному розмірі сторони дзеркала (при виконанні усіх згаданих обмежень) Герміона зможе бачити відображення свого обличчя повністю?

Формат введення-виведення:

Програма basilisk зчитує з клавіатури (стандартного пристрою введення) шість дійсних чисел R1, R2, R3, R4, d та L (у вказаному порядку). Всі розміри задано в метрах, гарантовано виконуються співвідношення 0.07≤R2≤R1≤0.2, 0.01≤R4≤R3≤0.04, 2R3<d<2(R2-R3), 0.1≤L≤2.

Програма basilisk виводить на екран (стандартний пристрій виведення) єдине дійсне число – шукану довжину сторони квадратного дзеркала. Відповідь буде зарахована, якщо вона не менше правильної та не перевищує правильну більше ніж на 0.01.

Приклад вхідних та вихідних даних

Введення

Виведення

0.17 0.1 0.025 0.01 0.07 0.5

1.7000000000E-001

 

 

Уроки зілляваріння (Potions)

 

На уроках зілляваріння Рон Уізлі, втім, як і завжди, щось наплутав і його субстанція абсолютно не відповідала параметрам завдання. Після отриманої двійки Рон одержав дуже складне домашнє завдання та звернувся по допомогу до Герміони. Подруга, важко зітхнувши, залишилася з ним на відпрацювання та почала розбиратися в умові. Завдання Рона полягало у тому, щоб створити субстанцію мінімальної густини. Для роботи йому було надано N пляшечок заданого об’єму з відомою масою. Однак у розчин дозволялося добавити рівно К інгредієнтів і, ретельно їх перемішуючи, отримати розчин мінімальної густини.

Формат введення-виведення:

Програма Potions зчитує з клавіатури (стандартного пристрою введення) два цілих числа N та K. Далі задано N пар чисел 1<=K<=N<=105  – маси заданих субстанцій та об’єми пляшечок із субстанціями (всі пляшечки повні). Використовувати дозволяється тільки весь вміст пляшечки.

Програма Potions виводить на екран (стандартний пристрій виведення) єдине дійсне число – мінімальну густину створеної субстанції. Відповідь буде вважатися правильною, якщо її відносна або абсолютна похибка не перевищує 10-4.

Приклад вхідних та вихідних даних

Введення

Виведення

3 2

1 1

10 10

1 2

0.666678

3 2

1 1

2 3

6 27

0.250041

 

 

Філософський камінь (phil_stone)

 

Філософський каміньЩоб перешкодити Волан де Морту в його пошуках філософського каменю, Гаррі Потер та його друзі Рон Уізлі і Герміона Грейнджер вирішили створити копію реліквії. У древніх фоліантах Герміона знайшла алгоритм отримання філософського каменю і тепер друзям залишилося втілити його в життя. Виявилося, що філософський камінь – це не суцільна субстанція, а структура, що складається з однакових кубиків. За основу береться паралелепіпед розміром NxMxH кубиків. Він називається філософським каменем нульового рівня. Щоб збільшити силу цього філософського каменя, потрібно до кожної доступної вільної грані кубиків, що входять до конструкції, прикріпити магічним способом по такому самому кубику. Закріпивши усі можливі кубики на початковій конструкції, друзі отримали філософський камінь першого рівня. Герміона переконала друзів, що сила створеного каменя недостатня і хлопці вирішили продовжити роботу.

З’ясувалося, що для створення філософського каменя будь-якого наступного рівня необхідно повторювати вже описану процедуру, тобто до всіх вільних граней кубиків конструкції поточного рівня приєднувати магічним шляхом такі ж кубики. Зупиняти будівництво рівня заборонено, так як філософський камінь при цьому втрачає свою силу. Поступово збільшуючи рівень філософського каменя, можна добитися того, що він стане практично всесильним. Але є одна проблема. Кількість кубиків, що є будівельним матеріалом для філософського каменя обмежена. І Гаррі стало цікаво: якщо друзям потрібно створити філософський камінь К рівня, скільки мінімально необхідно мати кубиків в запасі.

Формат входу-виходу:

Программа phil_stone зчитує з клавіатури  (стандартного пристрою введення) три натуральних числа, що не перевищують 106 – розмір початкового паралелепіпеда,   і з наступного рядка номер бажаного рівня К (ціле невідємне число, не більше 106).

Программа phil_stone виводить на екран (стандартний пристрій виведення) єдине число – необхідну кількість кубиків для побудови конструкції рівня К по модулю 109+7.

Приклад вхідних и вихідних даних:

Введення

Виведення

1 1 1

2

25

2 2 2

1

32

 

 

Урок нумерології в Хогвардсі (numerology)

 

Пройшло багато років… І в Школі чародійництва тепер вчиться син Гаррі Поттера Альбус Северус Поттер. Він, як і його батько, не дуже полюбляє уроки нумерології. Професор нумерології Септіма Вектор на черговому уроці заявила, що найчарівніше число – це число, отримане таким чином: 1n+2n+ … +mn.

Обов’язкове домашнє завдання Альбуса - знайти це число для заданих N і M. Так як при великих значеннях N і M відповідь може бути занадто великим, його потрібно отримати по модулю 109+7.

Формат входу-виходу:

Программа numerology зчитує з клавіатури (стандартного пристрою введення) два цілих числа N (0<=N<=3000) і M (0<M<=1018).

Программа numerology виводить на екран (стандартний пристрій виведення) єдине число – вказану суму ПО МОДУЛЮ 109+7.

Приклад вхідних і вихідних даних:

Введення

Виведення

1 9

45

2 5

55

13 1

1

 

 

© LIKT 1998-2024