Codeforces Round 664 (Div. 2) |
---|
Закончено |
Boboniu любит играть в шахматы со своими подчиненными. Как мы знаем, никакой подчиненный не может победить босса в шахматах, поэтому Boboniu никогда не проигрывает.
Вы проходите собеседование в его компанию. Boboniu решил озадачить вас следующей шахматной задачей:
Рассмотрим поле $$$n\times m$$$ (строки пронумерованы от $$$1$$$ до $$$n$$$, столцбы пронумерованы от $$$1$$$ до $$$m$$$). У вас есть шахматная фигура которая стоит в клетке $$$(S_x,S_y)$$$, которая исходно находится не на границе поля (т.е. $$$2 \le S_x \le n-1$$$ и $$$2 \le S_y \le m-1$$$).
Из клетки $$$(x,y)$$$, вы можете подвинуть вашу шахматную фигуру на клетку $$$(x,y')$$$ ($$$1\le y'\le m, y' \neq y$$$) или $$$(x',y)$$$ ($$$1\le x'\le n, x'\neq x$$$). Другими словами, фигура ходит как ладья. Из клетки вы можете перейти в любую клетку на той же строке или столбце.
Ваша задача — посетить каждую клетку ровно один раз. Можете ли вы найти решение?
Обратите внимание, что клетки на пути между двумя соседними клетками в маршруте не считаются посещенными, и что вам не требуется возвращаться в исходную клетку.
В первой строке записаны четыре целых числа $$$n$$$, $$$m$$$, $$$S_x$$$ и $$$S_y$$$ ($$$3\le n,m\le 100$$$, $$$2 \le S_x \le n-1$$$, $$$2 \le S_y \le m-1$$$) — количество строк, столбцов, и исходная позиция фигуры, соответственно.
Вы должны вывести $$$n\cdot m$$$ строк.
В $$$i$$$-й строке должны быть записаны два целых числа $$$x_i$$$ и $$$y_i$$$ ($$$1 \leq x_i \leq n$$$, $$$1 \leq y_i \leq m$$$), обозначающие $$$i$$$-ю посещенную вами клетку. Вы должны вывести ровно $$$nm$$$ пар $$$(x_i, y_i)$$$, это должны быть все возможные пары $$$(x_i, y_i)$$$, что $$$1 \leq x_i \leq n$$$, $$$1 \leq y_i \leq m$$$.
Можно показать, что в данных ограничениях всегда существует решение. Если есть несколько возможных решений, вы можете вывести любое.
3 3 2 2
2 2 1 2 1 3 2 3 3 3 3 2 3 1 2 1 1 1
3 4 2 2
2 2 2 1 2 3 2 4 1 4 3 4 3 3 3 2 3 1 1 1 1 2 1 3
Возможные маршруты для двух примеров:
Название |
---|