1. Вписане коло
Завдання
Створити програму circle.*, яка для натурального радіуса вписаного кола знайде натуральні сторони трикутника.
Вхідні дані
Файл circle.in містить лише одне натуральне число — радіус вписаного кола, який не перевищує 180.
Вихідні дані
Файл circle.out містить натуральні довжини сторін трикутника: у порядку незростання довжин по одному варіанту в одному рядку. Варіанти впорядкувати таким чином: найбільша сторона не зростає, а для сталої найбільшої сторони середня сторона спадає.
Приклад
circle.in | circle.out |
---|---|
2 |
29 25 6 20 15 7 17 10 9 13 12 5 10 8 6 |
2. Многоґранник
Всі ґрані многоґранника — правильні многокутники. Кількості ґраней і ребер не перевищують відповідно 20 і 36. Всі ґрані многоґранника занумеровано послідовними натуральними числами, починаючи з 1. Ребра також занумеровано послідовними натуральними числами, починаючи з 1. При цьому менший номер суміжної ґрані не спадає, а для сталого меншого номера суміжної ґрані більший номер зростає. Для правильного 4-ґранника перелік у такому порядку пар суміжних ґраней має вигляд (1;2), (1;3), (1;4), (2;3), (2;4), (3;4).
Завдання
Створити програму polyedr.*, яка зобразить розгортки многоґранника на екрані монітора.
Вхідні дані
j-ий рядок файлу polyedr.dat містить повний перелік номерів ґраней, що мають з j-ою ґранню спільне ребро.
Файл polyedr.res містить дані про розгортки многоґранника — по одному рядку на кожну розгортку, в якому перераховано номери нерозрізаних ребер для відповідної розгортки.
Кожний рядок файлу polyedr.ver взаємно однозначно відповідає вершині многоґранника й містить номери всіх ґраней, що сходяться до цієї вершини (містять цю спільну вершину).
Вихідні дані
Зображення розгортки многоґранника для кожного рядка вхідного файлу polyedr.res має бути таким: чорному тлі білі лінії-ребра, з точністю до 5% на весь екран монітора, з точністю до 5% єдиним масштабом по вертикалі й горизонталі, у центрі зображення кожної ґрані — її номер, у лівому верхньому куті екрану — номер зображення, який знаходиться поза зображенням розгортки. При натисканні клавіші Enter здійснюється перехід до наступної розгортки, а після останньої розгортки програма припинить роботу. Ґрань 1 зображено так:
зображення ґрані 1 має горизонтальну сторону l таку, що зображення ґрані 1 розташоване не нижче цієї сторони;
наступною за l стороною зображення ґрані 1 при обході периметра проти руху годинникової стрілки є зображення ребра, спільного для ґрані 1 і ґрані з найменшим можливим номером. Навіть якщо зображення цієї ґрані на розгортці не має спільної сторони з ґранню 1.
Приклад
polyedr.dat | polyedr.ver | polyedr.res | зображення («неґативи») |
---|---|---|---|
2 3 4 1 3 4 1 2 4 1 2 3 |
1 2 3 1 2 4 1 3 4 2 3 4 |
1 2 3 1 2 5 |
Зауваження щодо програмної реалізації
Для зручності наочної перевірки «у ручному режимі» назви вхідних файлів потрібно вказати на початку коду програми.