eolymp
bolt
Try our new interface for solving problems
Məsələlər

Прямоугольник

Прямоугольник

Напишите программу, которая определит, как в последовательности прямоугольников образовать последний из остальных прямоугольников склеиванием их вдоль сторон без разрезаний и без перекрытий внутренними частями. \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°} этот прямоугольник или нет. Строки следует записать в лексикографическом порядке, а в каждой строке четверки чисел также следует расположить в лексикографическом порядке. Если склейка невозможна, то вывести два слова: "\textbf{No solution}".
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
2 3 2 5 3 7 3
Çıxış verilənləri #1
0 0 1 1 2 0 2 0
0 0 2 0 5 0 1 1