П`ятниця, 29.03.2024, 16:27
Головна Реєстрація RSS
Вітаю Вас, Гість
Наше опитування
Оцініть мій сайт
Всього відповідей: 68
Завдання ІІ етапу Всеукраїнської учнівської олімпіади з інформатики 2014-2015 н.р.

Задача A (30 балів). Написати програму, яка визначає число k – кількість входжень послідовності P символів (не більше 255 символів) у текст T (не більше 100 рядків по 255 символів), зчитаний із файлу.

Вхідні дані: У першому рядку файлу A.dat записано послідовність P символів, для якої визначається кількість входжень. У наступних рядках записано текст T.

Вихідні дані: У файлі А.res записати число k.

Приклади:
А.datA.res
101
1101100101
2

уми
Думи мої, думи мої, лихо мені з вами!
2


Оцінка тестів
Тест123456789101112131415
Бали111223442222227

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

Задача B (30 балів). Написати програму, яка визначає множину можливих чисел у вибраній незаповненій клітинці таблиці Судоку (див.мал.). Таблиця Судоку – це квадратна таблиця 9×9 із натуральних чисел з діапазону 1..9, розділена на 9 квадратних таблиць 3×3, причому, кожен рядок, стовпчик та квадрат 3×3 містять числа від 1 до 9 лише по одному разу.

Вхідні дані: У першому рядку файлу B.dat записано через пропуск два натуральних числа n і m – номери рядка та стовпчика пустої клітинки, для якої слід знайти множину можливих чисел для цієї клітинки. У наступних дев’яти рядках через пропуск записано по дев’ять чисел, включаючи нулі (незаповнені клітинки).

Вихідні дані: У єдиному рядку файла B.res через пропуск записати множину можливих чисел для клітинки з координатами (n,m).

Приклад:
B.datB.res
5 7
0 1 0 3 0 8 0 2 7
8 2 0 7 5 6 0 4 9
5 9 0 4 1 0 3 8 6
2 7 0 9 0 3 8 1 4
9 4 0 0 2 0 0 6 3
3 0 0 8 4 7 2 9 5
1 5 2 6 7 9 4 3 8
7 3 0 1 0 0 0 5 2
4 8 0 2 0 5 9 7 1
7










Оцінка тестів
Тест12345678910
Бали3333333333

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

Задача C (40 балів). Написати програму, яка визначає номер вершини, розбиття діагоналями на трикутники з якої для опуклого многокутника, заданого координатами своїх вершин у порядку обходу становитиме найменшу суму довжин діагоналей (див. мал.).

Вхідні дані: У кількох рядках файлу C.dat через пропуск записано по 2 числа xi та yi (3 ≤ i ≤ 30) – координати i-ї вершини многокутника.

Вихідні дані: У файлі C.res записати число – номер шуканої вершини.

Приклад:
C.datC.res
4 3
12 1
14 2
22 5
24 13
14 17
6 16
2 12
1 10
3









Оцінка тестів
Тест12345678910
Бали2233355557

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

Задача D (50 балів). Написати програму, яка визначає добуток двох многочленів з однією змінною, записаних у стандартному вигляді (у порядку спадання степенів змінної від n до 0, 2 ≤ n ≤ 20). Добуток також слід записати в стандартному вигляді. Для точності та простоти многочлени задаються послідовностями цілих чисел – коефіцієнтами при степенях змінної.

Вхідні дані: У двох рядках файлу D.dat через пропуск записано коефіцієети даних многочленів.

Вихідні дані: У єдиному рядку файлу D.res через пропуск записати коефіцієнти многочлена-добутку.

Приклад:
D.datD.res
3 4 2 -5 11
2 -1 1 3 5
6 5 3 1 56 10 6 8 55


Оцінка тестів
Тест123456789101112131415
Бали111112234445777

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

Задача E (50 балів). Написати програму, яка визначає на відрізку AB, де A(x1, y1) та B(x2, y2) – точки з цілочисельними координатами усі внутрішні точки з цілочисельними координатами, якщо такі існують (див. приклади та відповідний малюнок).

Вхідні дані: У єдиному рядку файлу E.dat через пропуск записано чотири цілі числа – координати x1, y1, x2 та y2 точок A та B.

Вихідні дані: У рядках файлу E.res через пропуск записати по два числа – координати шуканих точок, або слово "not", якщо таких точок не існує.

Приклади:
E.datE.res
2 2 8 11

4 5
6 8
2 2 15 10not

Оцінка тестів
Тест12345678910
Бали22222557815

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

Наверх