만드는 중입니다

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

슈퍼트리 연결

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

요약
n x n 행렬 p가 주어질 때, 모든 타워 쌍의 경로 수가 p[i][j]와 같아지도록 다리를 놓거나 그런 배치가 없으면 불가능하다고 판단합니다.
난이도

어려움10점 중 8점

유형
그래프, 유니온 파인드, 구현
정답자
아직 제출이 없습니다

문제

가든스 바이 더 베이는 싱가포르에 있는 대형 자연공원이다. 이 공원에는 슈퍼트리라고 부르는 타워가 nn개 있고, 0부터 n−1n-1까지 번호가 붙어 있다. 다리를 0개 이상 건설한다. 각 다리는 서로 다른 두 타워를 잇고, 양방향으로 건널 수 있다. 같은 두 타워를 잇는 다리는 두 개 이상 놓을 수 없다.

타워 xx에서 타워 yy로 가는 경로는 다음 조건을 모두 만족하는 1개 이상의 타워 수열이다.

  • 수열의 첫 원소는 xx이다.
  • 수열의 마지막 원소는 yy이다.
  • 수열의 모든 원소는 서로 다르다.
  • 수열에서 연속한 두 원소는 다리로 연결되어 있다.

정의상 타워에서 자기 자신으로 가는 경로는 정확히 하나다. 타워 ii에서 jj로 가는 경로 수는 타워 jj에서 ii로 가는 경로 수와 같다.

설계자는 모든 0≤i,j≤n−10 \le i, j \le n-1에 대해 타워 ii에서 jj로 가는 서로 다른 경로가 정확히 p[i][j]p[i][j]개가 되도록 다리를 놓기를 원한다. 이때 0≤p[i][j]≤30 \le p[i][j] \le 3이다. 이 요구를 만족하는 다리 배치를 구하거나, 불가능한 경우 그 사실을 판정하라.

제한

  • 1≤n≤10001 \le n \le 1000
  • 모든 0≤i≤n−10 \le i \le n-1에 대해 p[i][i]=1p[i][i] = 1
  • 모든 0≤i,j≤n−10 \le i, j \le n-1에 대해 p[i][j]=p[j][i]p[i][j] = p[j][i]
  • 모든 0≤i,j≤n−10 \le i, j \le n-1에 대해 0≤p[i][j]≤30 \le p[i][j] \le 3

예제1

  1. 예제 1

    입력
    1
    1
    
    예상 출력
    1
    0