만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

스도쿠

면접 대비

시간 제한2초메모리 제한1024 MB

요약
N² × N² 표에 M번 숫자를 쓸 때마다 표가 유효한 스도쿠인지 확인하여 1 또는 0으로 출력합니다.
난이도

보통10점 중 5점

유형
배열, 구현
정답자
아직 제출이 없습니다

문제

N×NN \times N 행과 N×NN \times N 열로 이루어진 빈 표가 주어진다. 토니는 표에 수를 MM번 쓴다. 먼저 칸을 하나 고른 뒤 다음과 같이 한다.

  • 칸이 비어 있으면 그 칸에 수를 쓴다.
  • 칸에 이미 수가 있으면 기존 수를 지우고, 빈 칸에 수를 쓴다.

쓰는 수는 1 이상 N×NN \times N 이하의 자연수다.

표가 올바르려면 각 행, 각 열, 각 특수 정사각형에 모든 수가 정확히 한 번씩 들어 있어야 하고, 빈 칸이 없어야 한다. 즉 모든 칸에 수가 쓰여 있어야 한다.

특수 정사각형은 다음과 같이 정의한다. 첫 번째 특수 정사각형은 처음 NN개 행과 처음 NN개 열이 만나는 칸이다. 두 번째 특수 정사각형은 처음 NN개 행과 두 번째 NN개 열이 만나는 칸이다. 세 번째 이후도 같은 방식으로 이어진다.

그림은 N=3N=3인 표를 보여준다. 굵은 선으로 된 9칸짜리 정사각형이 특수 정사각형이다.

수를 쓸 때마다 표가 올바른지 아닌지 출력하라.

입력

첫 줄에 자연수 NN과 MM이 주어진다 (2≤N≤602 \le N \le 60, 1≤M≤10000001 \le M \le 1000000).

다음 MM개 줄에는 자연수 AA, BB, CC가 주어진다 (1≤A,B,C≤N×N1 \le A, B, C \le N \times N). 이는 토니가 AA행 BB열의 칸에 수 CC를 썼다는 뜻이다.

출력

MM개 줄에 출력한다. ii번째 쓰기를 마친 뒤 표가 올바르면 1을, 올바르지 않으면 0을 출력한다.

힌트

두 번째 예제에서 첫 번째, 두 번째, 세 번째 쓰기를 마친 뒤의 표 상태이다. 세 번째 쓰기가 첫 번째 쓰기를 지웠다는 점에 주목하라.

예제2

  1. 예제 1

    입력
    2 20
    3 4 1
    1 1 3
    1 3 2
    3 2 3
    1 3 1
    4 4 1
    2 4 4
    1 4 2
    3 3 3
    2 1 2
    4 3 2
    4 2 1
    4 1 4
    2 2 2
    2 3 3
    3 1 2
    1 2 4
    4 4 3
    2 1 1
    3 3 4
    
    예상 출력
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    1
    
  2. 예제 2

    입력
    3 3
    5 3 6
    6 7 2
    5 3 1
    
    예상 출력
    0
    0
    0