#1326
Gold IV
relevarT dirG
시간 제한
1s
메모리 제한
512MB
제출
8
정답
3
맞힌 사람
3
정답 비율
37.5%

문제

2025 충남대학교 SW-IT Contest에 출제되었던 Grid Traveler 문제는 정수 NN이 주어질 때 승현이의 여행이 가능한 N×NN \times N 격자가 존재하는지 판별하고, 존재한다면 그런 격자를 하나 출력하는 문제였다.

승현이의 여행은 다음과 같이 진행된다.

  • 11이 적힌 칸에서 시작한다.
  • 각 정수 ii (1i<N2)(1 \le i < N^2)에 대해, 현재 ii가 적힌 칸에서 정확히 ii번 이동하여 i+1i+1이 적힌 칸에 도달해야 한다. 이 과정을 방문이라고 하자.
  • 한 번의 이동은 격자의 경계를 벗어나지 않으며 상하좌우로 인접한 칸으로 이동하는 것이다.
  • 하나의 방문 과정 안에서는 같은 칸으로 두 번 이상 이동할 수 없다. 서로 다른 방문 과정에서 같은 칸을 다시 사용하는 것은 허용된다.

예를 들어 N=2N=2일 때, 아래 격자는 승현이의 여행이 가능한 격자이다.

1 2
3 4

11에서 정확히 11번 이동하여 22에 도달할 수 있고, 22에서 정확히 22번 이동하여 33에 도달할 수 있으며, 33에서 정확히 33번 이동하여 44에 도달할 수 있다.

반면 아래 격자는 승현이의 여행이 가능한 격자가 아니다.

1 2
4 3

22에서 정확히 22번 이동하여 33에 도달할 수 없기 때문이다.

11부터 N2N^2까지의 정수가 한 번씩 적힌 N×NN \times N 격자가 주어진다. 이 격자가 승현이의 여행이 가능한 격자인지 판별하는 프로그램을 작성하시오.

입력

첫째 줄에 격자의 크기 NN이 주어진다. (2N1,000)(2 \le N \le 1,000)

둘째 줄부터 NN개의 줄에 걸쳐 격자가 주어진다. 각 줄에는 NN개의 정수가 공백으로 구분되어 주어진다.

격자에 적힌 수는 11 이상 N2N^2 이하이며, 각 수는 정확히 한 번씩 등장한다.

출력

주어진 격자가 승현이의 여행이 가능한 격자라면 YES, 아니면 NO를 출력하시오.

예제 입력 1

2
1 2
3 4

예제 출력 1

YES

예제 입력 2

2
1 2
4 3

예제 출력 2

NO
문제를 만든 사람
조서현
알고리즘 분류
코드 제출

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

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
8240🥇
Flying_Spaghetti_Monster
C++37ms16768KB661B
7928🥈
Fine_Tuning
C++42ms12736KB756B
8347🥉
조서현
PyPy203ms159344KB364B
난이도 투표
Gold IV2명 투표· 11일 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
8347
맞았습니다
PyPy203ms159344KB364B2026. 05. 26. 02:05
8240
맞았습니다
C++37ms16768KB661B2026. 05. 25. 11:14