print2402. Работа для Золушки

printРабота для Золушки

Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

На следующий вечер мачеха и сводные сестры снова собрались на бал.
- На этот раз у тебя будет больше работы, – сказала мачеха и разломала выпуклый многоугольник на мелкие кусочки. – Собери его к нашему приезду, а не то плохо тебе придется!
Золушка осталась одна. Но через минуту комната озарилась чудесным светом и появилась фея.
- Не будем терять времени, – сказала добрая фея, – нужно скорее собираться на бал, Золушка.
Одним взмахом волшебной палочки фея вызвала программиста и поручила ему написать программу, определяющую, как из отрезков четырех видов можно собрать выпуклый многоугольник. Имеются следующие отрезки:
- `a` горизонтальных отрезков единичной длины;
- `b` вертикальных отрезков единичной длины;
- `c` диагональных отрезков длины `sqrt{2}` под углом `45^o` к оси `X`;
- `d` диагональных отрезков длины `sqrt{2}` под углом `135^o` к оси `X`.
Первая строка ввода содержит четыре целых числа `a,\ b,\ c,\ d` (`0\ ≤\ a,\ b,\ c,\ d\ ≤\ 100`, `a+b+c+d\ ≥\ 3`) – количество отрезков каждого вида. Гарантируется, что выпуклый многоугольник из этого набора отрезков существует.
Вывести `a+b+c+d` строк, содержащих по два целых числа, не более 1000 по модулю – координаты точек, через которые проходят стороны выпуклого многоугольника, собранного из всех отрезков. Координаты точек должны быть перечислены против часовой стрелки. Если существует несколько вариантов построения многоугольника, то вывести любой из них.

Пример ввода

4 2 2 2

Пример вывода

0 0
1 0
2 0
3 1
3 2
2 3
1 3
0 3
-1 2
-1 1
loading