eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Прямокутник

Прямокутник

Створіть програму, яка встановить, як у послідовності прямокутників останній утворити з решти прямокутників склеюванням їх вздовж сторін без розрізань і без перекриття внутрішніми частинами. \InputFile Містить натуральне число \textbf{n} (\textbf{n} < \textbf{15}), а далі - послідовність (\textbf{n} + \textbf{1})-ої пари натуральних чисел, що є довжинами та висотами відповідних прямокутників. Площі усіх прямокутників не перевищують \textbf{1234567890}. \OutputFile Розташуємо (\textbf{n} + \textbf{1})-ий прямокутник таким чином, щоб початок координат був вершиною прямокутника, одна сторона-висота належала осі ординат, а всі внутрішні точки лежали у першій чверті декартової площини. Кожний вихідний рядок має містити \textbf{n} четвірок невід'ємних цілих чисел, що взаємно однозначно описують відповідне склеювання. Перші два числа такої четвірки - це координати нижньої лівої вершини прямокутника, третє число - його номер, останнє число \textbf{1} або \textbf{0} відповідно до того, чи повернуто на \textbf{90°} цей прямокутник, чи ні. Рядки потрібно записати в лексикографічному порядку, а в кожному рядку четвірки чисел також потрібно розташувати у лексикографічному порядку. Якщо склеювання неможливе, то вивести два слова: "No solution".
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2 3 2 5 3 7 3
Вихідні дані #1
0 0 1 1 2 0 2 0
0 0 2 0 5 0 1 1