ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

Чемпионат Урала 2005 Тур II

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

I. Пусти козла в огород 3

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
В очередной раз встаёт проблема: как пустить козла в огород, чтобы он, с одной стороны, не умер с голоду, а с другой — не съел бы всё. Огород представляет собой поле из элементарных квадратов 1 × 1. Хозяева козла умеют ставить секции забора в отдельных элементарных квадратах на поле. Для того, чтобы прокормиться, козлу требуется участок из 1 ≤ K ≤ 106 квадратов. В начальный момент времени козёл находится в начале координат, то есть в квадрате с координатами (0, 0). Требуется, поставив минимальное число секций, предоставить козлу участок ровно из K квадратов. Площадь считается огороженной, если оттуда невозможно выйти, перемещаясь по вертикали и горизонтали.

Исходные данные

Единственная строка ввода содержит целое число K — площадь участка, выделенного козлу.

Результат

В первой строке выведите целое число N — количество граничных элементов (квадратов с забором), в следующих N строках — координаты граничных элементов в порядке обхода.

Пример

исходные данныерезультат
3
7
-1 0
0 1
1 2
2 1
2 0
1 -1
0 -1
Автор задачи: Алексей Лахтин
Источник задачи: IX Чемпионат Урала по спортивному программированию. Екатеринбург, УрГУ, 19-24 апреля 2005 г.
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 1368. Пусти козла в огород 3