#170
Gold V
Grid Traveler
스페셜 저지
시간 제한
1s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

승현이는 N×NN\times N 격자에 살고 있다. N2N^2개의 각 칸에는 11부터 N2N^2까지의 정수 중 하나가 적혀있고, 각 칸에 적힌 수는 모두 다르다.

승현이는 아래 규칙을 지키면서 격자 안에서 여행하려고 한다.

  • 11이 적힌 칸에서 시작한다.
  • i(1i<N2)i(1 ≤ i < N^2)가 적힌 칸에서 정확히 ii번 이동하여 i+1i + 1이 적힌 칸에 도달한다. 이 과정을 방문이라 하자.
  • 한 번의 이동은 격자의 경계를 벗어나지 않으며 상하좌우로 한 칸 이동하는 것을 의미하며, 각 방문 과정에서 같은 칸으로 두 번 이상 이동할 수 없다.

최종적으로 N2N^2이 적힌 칸에 도달할 수 있다면 승현이의 여행이 가능하다고 본다. 격자의 크기와 각 칸에 적힌 수에 따라 승현이의 여행이 가능할 수도, 불가능할 수도 있다. 격자의 크기가 주어질 때, 조건을 만족하면서 승현이의 여행이 가능한 격자를 만들어 주자.

입력

첫째 줄에 NN이 주어진다. (2N1000)(2 ≤ N ≤ 1\,000)

출력

승현이의 여행이 가능한 N×NN\times N 격자가 없다면, 첫째 줄에 NO를 출력한다.

가능한 격자가 있다면, 첫째 줄에 YES를 출력하고, 둘째 줄부터 NN개의 줄에 걸쳐 각 줄에 격자의 행에 해당하는 NN개의 정수를 공백으로 구분하여 출력한다. 다시 말해, i+1i + 1번째 줄의 jj번째 정수는 격자의 ii번째 행의 jj번째 열에 위치한 칸에 적힌 수를 의미한다.

정답이 여러 개라면 그중 하나만 출력한다.

예제 입력 1

2

예제 출력 1

YES
1 2
3 4
문제를 만든 사람
조서현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Gold V1명 투표· 약 2개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.