마법의 체스판
시간 제한1초메모리 제한256 MB
짝수 행을 순서대로 뒤집고 이어서 짝수 열을 뒤집어 n행 m열 체스판을 단색으로 만드는 과정을 출력합니다.
- 난이도
쉬움10점 중 1점
- 유형
- 구현
- 정답자
- 아직 제출이 없습니다
문제
진수는 동생 지수에게서 크기가 인 마법의 체스판을 받았다. 이 체스판에는 신기한 기능이 많은데, 그중 하나가 색을 반전시키는 기능이다. 이 기능으로 칸을 포함하는 직사각형을 하나 골라 그 안의 하얀 칸은 검은색으로, 검은 칸은 하얀색으로 바꿀 수 있다.
처음에는 보통 체스판처럼 칠해져 있다. 다시 말해 변을 맞댄 두 칸의 색은 서로 다르다. 진수는 이 기능을 최소 횟수로 사용해서 모든 칸의 색을 같게 만들려고 한다.
행은 위에서부터 1번부터 번까지, 열은 왼쪽에서부터 1번부터 번까지 번호가 붙어 있다.
입력
첫째 줄에 행의 개수 과 열의 개수 이 주어진다. ()
출력
반전 횟수가 최소인 방법은 여러 가지일 수 있으므로, 아래에서 정한 한 가지만 출력한다.
첫째 줄에 반전 횟수 를 출력한다. 이어지는 개 줄에는 반전할 직사각형을 한 줄에 하나씩, 한 모서리 칸의 좌표와 마주보는 모서리 칸의 좌표를 r1 c1 r2 c2 형식으로 출력한다.
직사각형은 이렇게 고른다. 먼저 번호가 짝수인 행마다 번호가 작은 쪽부터 차례로, 그 행 전체를 덮는 직사각형 r 1 r m을 출력한다. 그다음 번호가 짝수인 열마다 번호가 작은 쪽부터 차례로, 그 열 전체를 덮는 직사각형 1 c n c를 출력한다. 짝수인 행이 없거나 짝수인 열이 없으면 그 부분은 아무것도 출력하지 않는다. 이렇게 고른 직사각형의 개수는 언제나 최소 반전 횟수와 같다.