1. Склеювання прямокутників, 8 балів
Створіть програму rectang.*, що визначить, чи можна з двох даних прямокутників «склеїти» третій.
Кожен рядок вхідного файлу rectang.dat містить 6 натуральних чисел в межах від 1 до 99, розділених прогалинами. Це — розміри трьох прямокутників: спочатку — ширина й висота першого, далі — ширина й висота другого, ще далі — ширина й висота третього. На кожне число відводиться по 3 позиції, причому остання позиція заповнена.
Файл rectang.res утворити з rectang.dat дописуванням у рядки слів так чи ні залежно від того, чи можливо перші два прямокутники «склеїти» вздовж сторін так, щоб отримати третій.
Приклад
rectang.dat | rectang.res |
---|---|
1 2 1 3 1 5 1 2 1 3 1 6 |
1 2 1 3 1 5 так 1 2 1 3 1 6 ні |
2. Проґресія, 12 балів
Створіть програму sequence.*, що з даної множини n натуральних чисел вибере елементи арифметичної проґресії найбільшої довжини з додатною різницею.
Вхідний файл sequence.dat містить (n+1) натуральне число. Перше з них — n, що не перевищує 32100. Наступні — різні елементи даної множини, що не перевищують 65432.
Кожен рядок вихідного файлу sequence.res має мiстити у вказаному порядку кількість членів шуканої арифметичної проґресії, її найменший перший член та її різницю — по одному варіанту відповіді в кожному рядку у порядку зростання першого члена, а для однакових
перших членів — у порядку зростання різниці проґресії.
Приклади
sequence.dat | sequence.res |
---|---|
4 1 5 6 3 | 3 1 2 |
8 1 5 10 3 6 8 18 30 | 3 1 2 3 6 2 3 6 12 |
3. Лабіринт, 15 балів
Вкажіть шлях з центра лабіринту, всі стіни якого збудовано вздовж частин концентричних кіл або їх радіусів.
Вхідний файл labirint.dat містить натуральне число — кількість стін — і четвірки невід'ємних цілих чисел. Кожна з четвірок містить у вказаному порядку полярні координати кінців стінок:
відстань r1 (у метрах) від центру лабіринту до початку стіни;
відстань r2 (у метрах) від центру лабіринту до кінця стіни;
кутовий арґумент θ1 (у ґрадусах) початку стіни — кут відхилення від певного напряму до напряму на початок стіни з центра лабіринту;
кутовий арґумент θ2 (у ґрадусах) кінця стіни.
r1 = r2, тобто початок і кінець стіни розташовано на однаковій відстані від центра лабіринту. Тоді стіну збудовано вздовж дуги кола з центром у центрі лабіринту і радіусом r1, причому рух від початку стіни до її кінця вздовж стіни здійснюють у напрямку зростання кутового арґументу.
θ1 = θ2, тобто початок і кінець стіни розташовано в одному напрямі від центра лабіринту. Тоді стіну збудовано вздовж променя з початком у центрі лабіринту, і r1 < r2.
Всі кутові арґументи кратні 4 і не перевищують 360. Всі відстані лежать в межах від 5 до 30 включно.
Створіть програму labirint.*, яка:
зобразить на весь екран монітора блакитним на чорному тлі план лабіринту з жовтим кругом у центрі лабіринту, що вказує на вихідну точку. Кутовий арґумент відкладати проти руху годинникової стрілки від горизонтального напряму зліва направо (5 балів);
після натискання клавіші Enter жовтою лінією, що не перетинає зображення стін лабіринту і складається з дуг концентричних кіл або частин їх радіусів, вкаже шлях назовні лабіринту (6 балів);
у верхньому правому куті екрана монітора напише «Виходу нема!», якщо немає шляху з центру лабіринту назовні (4 бали);
припинить роботу після натискання Enter.
Для файлу labirint.dat
3
15 15 92 0
30 30 270 180
15 30 0 0
відповідна схема лабіринту з указаним шляхом назовні (подано «неґатив») має такий вигляд.