Входной файл: cylinder.in Выходной файл: cylinder.out Время на тест: 15 секунд Автор задачи: А.С. Денисюк (г. Брест) Тесты к задаче:Скачать
Профессор Трубочкин предложил цилиндрические шахматы, в которых квадратная шахматная доска размером NxN клеток свернута в цилиндр, причем первая вертикаль становится соседней с последней. Таким образом, всякая вертикаль, так же как и диагональ, является отрезком, а горизонталь – окружностью.
Координаты шахматной клетки задаются в виде пары чисел (номер вертикали, номер горизонтали).
Все фигуры ходят как в обычных шахматах. В частности, ферзь бьёт фигуру, отстоящую от него на произвольное число клеток по вертикали, горизонтали или диагонали.
Вам предлагается решить головоломку о расстановке M ферзей на цилиндрической шахматной доске NxN таким образом, чтобы ни один из них не бил другого.
Ввод
Входной текстовый файл CYLINDER.IN состоит из одной строки, в которой размещены через пробел два целых числа N и M (1<=N<=20, 1<=M<=20), задающих размер доски и количество ферзей соответственно.
Вывод
Программа должна вычислить и напечатать в текстовом файле CYLINDER.OUT одну из возможных расстановок ферзей, решающую поставленную задачу. В первой строке выходного файла печатаются числа N и M, разделённые пробелом, а в последующих M строках – решение задачи. Позиция каждого ферзя печатается в отдельной строке в виде пары целых чисел, разделённых одним пробелом. Первое число обозначает номер вертикали, а второе – номер горизонтали, на которой расположен ферзь.
Если для заданных N и M решения не существует, во второй строке следует напечатать два нуля, разделенных пробелом.