Четвер, 25.04.2024, 19:21
Головна Реєстрація RSS
Вітаю Вас, Гість
Наше опитування
Оцініть мій сайт
Всього відповідей: 68
Завдання ІІ етапу Всеукраїнської учнівської олімпіади з інформатики 2010-2011 н.р.

1. ZERO (25 балів). Написати програму zero.*, що визначає число k - кількість натуральных чисел, не більших даного N, які мають у своєму двійковому разкладі рівно три значущих нулі.

Вхідні дані: у файлі zero.dat записане натуральне число N (N < 10000000).

Вихідні дані: у файл zero.sol записати число k - кількість натуральних чисел, які у двійковому представленні мають рівно три нулі.

Приклад:
zero.dat    zero.sol
18            3

Рішення: програма на мові програмування Turbo Pascal 7.0

Завантажити умову задачі, рішення та тести (12,1 Кб)


2. POINTS (25 балів). На аркуші в клітинку побудували трикутник, вершини якого розміщено у вузлах решітки (перетини ліній клітинок аркушу). Всі вузли решіток, що лежать в середині трикутника, після цього зафарбували, за виключенням вершин трикутника та вузлів, що лежать на сторонах трикутника. Написати програму points.*, яка допоможе підрахувати кількість зафарбованих точок.

Вхідні дані: у першому рядку вхідного файлу points.dat міститься натуральне число N – кількість тестів (1 ≤ N ≤ 10), в наступних N рядках через пропуск задано 6 чисел: координати x1,y1,x2,y2,x3,y3 вершин чергового трикутника (|x1,y1,x2,y2,x3,y3| ≤ 15000).

Вихідні дані: для кожного тестового випадку вихідний файл points.sol повинен містити в окремому рядку шукану кількість зафарбованих точок.

Приклад:

points.dat    points.sol
1                  6
1 1 1 6 6 1

Рішення: програма на мові програмування Turbo Pascal 7.0

Завантажити умову задачі, рішення та тести (22,2 Кб)


3. SELECT (30 балів). N шукачів скарбів знайшли горщик із золотими монетами. Один з них взяв собі одну монету і ще 1/N частину від тих монет, що залишилися. Так само зробили всі інші компаньйони. Монети, що залишилися, було поділено порівну. Написати програму select.*, яка визначає найменшу кількість монет M, що задовольняє описаному алгоритму поділу.

Вхідні дані: у файлі select.dat в єдиному рядку записано натуральне число N (N < 10).

Вихідні дані: у файл select.sol записати число M - кількість монет знайденого скарбу.

Приклад:

select.dat    select.sol
4                 765

Рішення: програма на мові програмування Turbo Pascal 7.0

Завантажити умову задачі, рішення та тести (12,5 Кб)


4. BACTS (40 балів). На планеті Земля з’явилися нові вірусні бактерії. Поодинці вони дуже слабі і не здатні заразити здорові бактерії. Але, об’єднавшись у групи, вони дуже небезпечні. Заражені вірусом бактерії живуть за такими правилами:
• за одну секунду вони об’єднуються в групи по три і п’ять бактерій;
• за одну секунду група з трьох заражених бактерій заражає п’ять здорових бактерій, а група з п’яти заражених бактерій заражає дев’ять здорових бактерій;
• заражені бактерії об’єднуються так, щоб заразити за одну секунду найбільшу кількість здорових бактерій;
• кожна заражена бактерія живе три роки, після того як її заразили, а потім вмирає.
Відома початкова кількість бактерій K. Щойно всі вони заразилися. Напишіть програму baсts.*, яка визначить скільки заражених бактерій буде через N секунд?

Вхідні дані: єдиний рядок текстового файлу baсts.dat містить через один пропуск два натуральних числа K і N (0 ≤ K,N ≤ 18).

Вихідні дані: у єдиний рядок текстового файлу baсts.sol записати одне число – кількість заражених бактерій через N секунд.

Приклад:

baсts.dat    baсts.sol
3 1             8

Рішення: програма на мові програмування Turbo Pascal 7.0

Завантажити умову задачі, рішення та тести (13,6 Кб)

Наверх