П`ятниця, 29.03.2024, 15:36
Головна Реєстрація RSS
Вітаю Вас, Гість
Наше опитування
Оцініть мій сайт
Всього відповідей: 68

21 жовтня 2013 року в Хоцьківській ЗОШ І-ІІІ ступенів відбувся І тур Всеукраїнської учнівської олімпіади з програмування серед учнів 8-11 класів.

Завдання Всеукраїнської учнівської олімпіади з програмування
2013-2014 н.р.
Переяслав-Хмельницький район
І тур

8-9 класи

Задача 1. Бісектриса (10 балів)
На площині задано координати трьох точок A(X1,Y1), B(X2,Y2), C(X3,Y3). Відомо, що ці точки утворюють трикутник, тобто не лежать на одній прямій. Сторони трикутника a = BC, b = AC, c = AB можна легко обчислити. Наприклад, довжину сторони можна обчислити за формулою: . Напишіть програму для обчислення довжини бісектриси трикутника ABC, яка виходить із вершини C за формулою:
.
Вхідні дані та обмеження:
Шість чисел X1, Y1, X2, Y2, X3, Y3 – координати точок A, B, C. Усі координати не перевищують 1000 за абсолютним значенням.
Вихідні дані:
Одне число – довжина бісектриси, що виходить із точки С. Відповідь округлити до сотих.
Приклад

input.txt output.txt
2 0 0 0 1 1 1.00

Задача 2. Фокусник (15 балів)
Колись давно відомий на той час математик показував дуже простий фокус: він просив назвати добуток P и суму S двох задуманих натуральних чисел A і B, після чого досить швидко відгадував ці числа. Ваша задача відтворити цей нескладний фокус у вигляді програми улюбленою мовою програмування.
Вхідні дані і обмеження:
Два числа P і S (1 <= P <= 10000, 1 <= S <= 10000).
Вихідні дані:
Два числа A і B, які виведені у порядку зростання. Якщо розв’язків не існує, то виведіть два нулі, розділені пробілом.

Приклад 1   Приклад 2  
input.txt output.txt input.txt output.txt
110 21 10 11 100 100 0 0

Задача 3. Рівняння (20 балів)
Якщо цифри натурального чотиризначного числа X записати в зворотному порядку, отримаємо число F(X) (не обов’язково чотиризначне). Наприклад, якщо X = 1238, то F(X) = 8321; якщо X = 1400, то F(X) = 41. Напишіть програму, яка для заданого числа N визначить максимальне число X, таке, що X + F(X) = N.
Вхідні дані та обмеження:
Одне натуральне число N (1000 < N < 20000).
Вихідні дані:
Одне число натуральне число X. Якщо рішень немає – вивести 0.

Приклад 1   Приклад 2  
input.txt output.txt input.txt output.txt
1111 1100 4103 3910

Задача 4. Ознаки подільності (25 балів)

У математиці гарно відомі ознаки подільності натуральних чисел на 3 і на 5. Користуючись цими знаннями, напишіть програму, яка перевірить, чи діляться задані натуральні числа на 15. Зверніть увагу на обмеження!
Вхідні дані і обмеження:
У першому рядку вхідного файлу записано натуральне число N – кількість чисел, що перевіряються (N <= 10). У наступних N рядках записано N натуральних чисел (по одному в рядку), кожне із них не перевищує 10200.
Вихідні дані:
У вихідний файл виведіть одне N-розрядне двійкове число, в якому одиниця на i-ій позиції буде вказувати на те, що i-е число із вхідного файлу ділиться на 15, а нуль – не ділиться.

input.txt output.txt
5
5878788817
111112215
30
8273482368234
45000000000000000000000555
01101




 

10-11 класи

Задача 1. Прямокутник (10 балів)
На листку паперу зображено прямокутник розміром a x b квадратів. Квадрати прямокутника зафарбували різними кольорами. Кожен колір має свій номер - ціле число. Написати програму, яка підрахує кількість кольорів які були використані для зафарбовування прямокутника.
Вхідні дані:
Вхідний текстовий файл містить у першому рядку два цілих числа a – кількість рядків та b – кількість стовпців. Наступні а рядків містять числа розділені пропусками – кольори квадратів кожного рядка. Числа (a, b) < 100.
Вихідні дані:
Вихідний текстовий файл містить стільки рядків, скільки кольорів містить прямокутник. У кожному рядку два числа – номер кольору та кількість квадратів ним зафарбована. Рядки відсортовані по номеру кольорів у порядку зростання.

Приклад    
input.txt output.txt  
4 5
1 2 1 3 2
3 4 2 3 5
4 2 4 1 5
6 7 7 7 2

 
1 3
2 5
3 3
4 3
5 2
6 1
7 3



 

Задача 2. Чотиризначні числа (15 балів)
Якщо цифри натурального чотиризначного числа X записати в зворотному порядку, отримаємо число F(X) (не обов’язково чотиризначне). Наприклад, якщо X = 1238, то F(X) = 8321; якщо X = 1400, то F(X) = 41. Напишіть програму, яка для заданого натурального числа N визначить, скільки існує різних рішень рівняння X + F(X) = N.
Вхідні дані та обмеження:
Одне натуральне число N (N < 20000).
Вихідні дані:
Одне число – кількість рішень рівняння X + F(X) = N.

Приклад 1   Приклад 2  
input.txt output.txt input.txt output.txt
1991 10 4103 27

Задача 3. Лінійне рівняння (20 балів)
Найпростіше лінійне рівняння для п'ятикласників має вигляд: [число або змінна][плюс або мінус][число або змінна]=[число або змінна]. Наприклад: 12 + X = 234, X - 19 = -20, 23 - 45 = X. Напишіть програму, яка зчитує та розв’язує таке рівняння.
Вхідні дані та обмеження:
У єдиному рядку записано найпростіше лінійне рівняння, описане в умові, всі числа за модулем не перевищують 1000000000. Змінна позначається великою або маленькою латинською літерою. У рівнянні два відомих числа і одне не відоме. Знаки арифметичних операцій і знак «=» від чисел та змінної можуть бути відокремлені будь-якою кількістю пробілів.
Вихідні дані:
У вихідний файл виведіть рядок без пробілів у вигляді: [змінна]=[число] – рішення даного рівняння.

Приклад 1   Приклад 2  
input.txt output.txt input.txt output.txt
23   - Х =15 Х=8 A+ 34 =     -3 A=-37

Задача 4. Ліфт (25 балів)
У ліфті нової конструкції передбачено всього дві кнопки: «U» (UP – піднятися на один поверх) та «D» (DOWN – опуститися на один поверх). Бортовий комп’ютер ліфта зчитує «програму» - послідовність натиснень цих кнопок та далі виконує цю програму, зупиняючись після кожної інструкції («U» або «D»). Наприклад, на третьому поверсі ліфт прочитав таку програму: UUUDUDD, відповідно він послідовно буде зупинятись на таких поверхах: 4, 5, 6, 5, 6, 5, 4. Відомо, що після виконання деякої послідовності інструкцій ліфт зупинявся на кожному поверсі багатоповерхівки як мінімум один раз. Напишіть програму, яка визначить, скільки поверхів у будинку і на якому поверсі було задано вказану послідовність інструкцій.
Вхідні дані та обмеження:
У єдиному рядку вхідного файлу записано послідовність інструкцій.
Вихідні дані:
Два числа – кількість поверхів у будинку і номер «стартового» поверху.
Приклад

input.txt output.txt Коментарій
UUUDUDDUDDDUDD

 
6 3

 
В домі 6 поверхів, послідовність інструкцій була
отримана на 3 поверсі. Ліфт рухався так:
3->4->5->6->5->6->5->4->5->4->3->2->3->2->1

Наверх