메뉴 건너뛰기

문제


시간메모리제출 회통과 회비율
1초64MB
0
0
0.0%
나의 횟수나의 판정시도 명성공 명비율
00
0.0%
문제

\(N\)행 \(N\)열의 격자가 있다. 위에서 \(i\)행째(\(1 \le i \le N\)), 왼쪽에서 \(j\)열째(\(1 \le j \le N\)) 칸을 칸 \((i, j)\)라고 하며, 칸 \((i, j)\)에는 문자 \(C_{i,j}\)가 적혀 있다. \(C_{i,j}\)는 o 또는 x이다.

어떤 행에도 가로로 o나 x가 3개 연속으로 있지 않고, 어떤 열에도 세로로 o나 x가 3개 연속으로 있지 않으면 Yes를, 그렇지 않으면 No를 출력하는 프로그램을 작성하라.

입력

입력은 다음 형식으로 주어진다.

\(N\)

\(C_{1,1}\) \(C_{1,2}\) \(\cdots\) \(C_{1,N}\)

\(C_{2,1}\) \(C_{2,2}\) \(\cdots\) \(C_{2,N}\)

\(\vdots\)

\(C_{N,1}\) \(C_{N,2}\) \(\cdots\) \(C_{N,N}\)

출력

다음의 형식으로 출력한다.

  • 조건을 만족하면 Yes를 출력한다.
  • 조건을 만족하지 않으면 No를 출력한다.

답 이외의 것은 출력하지 않는다.

예시 1
입력
3 oox xox oxx
출력
Yes
설명

모든 행·열에서 가로 3개 연속 o나 x, 세로 3개 연속 o나 x가 존재하지 않는다. 따라서 Yes를 출력한다.

예시 2
입력
4 ooox ooox ooox ooox
출력
No
설명

1행부터 4행까지 각 행에 o가 가로로 3개 연속 존재한다. 또한 1열부터 3열까지 각 열에 o가 세로로 3개9 연속 존재한다. 따라서 No를 출력한다.

예시 3
입력
6 xxxoxx xxxoxx oooxoo oooxoo xxxoxx xxxoxx
출력
No
설명

1행·2행·5행·6행에 x가 가로로 3개 연속 존재하고, 3행·4행에 o가 가로로 3개 연속 존재한다. 또한 1열·2열·3열·4열·5열·6열에도 세로 3개 연속 존재한다. 따라서 No를 출력한다.

예시 4
입력
10 oxooxxooox xooxxooxoo ooxxooxoox oxxoooxoxo xooxooxoox ooxooxoxoo xxooxooxoo ooxooxoxxx xooxooxoox oxooxooxoo
출력
Yes
설명

모든 행·열에서 가로로 3개 연속 o나 x, 세로로 3개 연속 o나 x가 존재하지 않는다. 따라서 Yes를 출력한다.

위로