dongshop
시간 제한1초메모리 제한1024 MB
N x N 격자판에서 서로 겹치지 않는 비숍 N개로 모든 칸을 색칠하는 배치를 찾아 좌표를 출력한다.
문제
격자판이 있다. 격자판의 행 열 좌표는 이며, 가장 왼쪽 위 칸은 , 가장 오른쪽 아래 칸은 이다.
격자판에 비숍을 두면 비숍이 위치하는 자리와, 그 자리에서 한 번의 이동으로 갈 수 있는 모든 곳이 색칠된다. 예를 들어, 격자판의 위치에 비숍을 두면 아래와 같이 색칠된다.

동건이가 개의 비숍을 겹치지 않게 두어 격자판을 모두 색칠할 수 있게 도와주자.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
각 테스트 케이스마다 격자판의 크기를 나타내는 이 주어진다. ()
출력
각 테스트 케이스마다 줄에 걸쳐 배치한 비숍의 위치를 순서에 상관없이 출력한다.
각 줄에는 배치한 비숍의 행과 열을 나타내는 두 정수 과 를 공백으로 구분하여 출력한다. ()
답이 항상 존재함을 증명할 수 있다.
힌트
입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간 초과를 받을 수 있으므로, 언어별로 다음 방법을 사용하는 것이 권장된다.
-
C++:
cin/cout을 사용하고자 한다면,main함수의 첫 줄에 아래 두 줄을 입력하고, 출력할 때endl대신 개행 문자(\n)를 사용해야 한다. 단, 이렇게 하면 더 이상scanf/printf/puts/getchar/putchar등 C의 입출력 방식을 사용하면 안 된다.cin.tie(nullptr);sync_with_stdio(false);
-
Python:
input대신 아래 코드를 사용한다.sys.stdin.readline.rstrip()
-
Java, Kotlin:
Scanner와System.out.println대신BufferedReader와BufferedWriter를 사용한다.BufferedWriter.flush는 프로그램 종료 전에 한 번만 하면 된다.