#1445
Platinum III

스파이 2

서브테스크
원문: 日本語
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

JOI 국에는 NN 명의 의원이 있으며, 11 부터 NN 까지의 번호가 붙어 있다. JOI 국의 대신인 당신은 의원 중에 있는 스파이를 찾아내려고 한다. 당신은 각 의원 ii (1iN1 \le i \le N) 에 대하여 다음과 같은 정보를 얻었다.

  • Ti=1T_{i} = 1 일 때, 의원 ii 는 스파이이다.
  • Ti=2T_{i} = 2 일 때, 의원 ii 는 스파이가 아니다.
  • Ti=3T_{i} = 3 일 때, 의원 ii 가 스파이인지 아닌지는 알 수 없다.

또한 탐문 조사를 수행한 결과, 새로 MM 개의 정보를 얻을 수 있었다. jj 번째 탐문 조사의 정보 (1jM1 \le j \le M) 는, 의원 AjA_{j} (1AjN1 \le A_{j} \le N) 가 "의원 BjB_{j} (1BjN1 \le B_{j} \le N) 는 스파이이고, 또한 의원 CjC_{j} (1CjN1 \le C_{j} \le N) 는 스파이가 아니다"라고 증언했다는 것이다.

단, 의원 AjA_{j} 가 스파이라면 jj 번째 탐문 조사의 정보에서의 증언은 사실과 다르다. 즉, 만약 의원 AjA_{j} 가 스파이라면 "의원 BjB_{j} 는 스파이이다", "의원 CjC_{j} 는 스파이가 아니다" 중 적어도 한쪽은 사실이 아니다. 한편, 의원 AjA_{j} 가 스파이가 아닐 때 jj 번째 탐문 조사의 정보에서의 증언은 사실일 수도 있고 그렇지 않을 수도 있다.

각 의원의 정보와 탐문 조사의 결과가 주어지므로, 그 N+MN + M 개의 정보가 모순되는지를 판정하고, 모순되지 않는다면 각각의 의원이 스파이인지 아닌지를 구하는 프로그램을 작성하시오. N+MN + M 개의 정보와 일치하는 답이 여러 개 존재하는 경우에는 그중 어느 것을 출력해도 된다.

제한

  • 1N3000001 \le N \le 300\,000.
  • 1M3000001 \le M \le 300\,000.
  • 1Ti31 \le T_{i} \le 3 (1iN1 \le i \le N).
  • 1AjN1 \le A_{j} \le N (1jM1 \le j \le M).
  • 1BjN1 \le B_{j} \le N (1jM1 \le j \le M).
  • 1CjN1 \le C_{j} \le N (1jM1 \le j \le M).
  • AjBjA_{j} \neq B_{j} (1jM1 \le j \le M).
  • AjCjA_{j} \neq C_{j} (1jM1 \le j \le M).
  • BjCjB_{j} \neq C_{j} (1jM1 \le j \le M).

서브태스크

  1. (77 점) N16N \le 16, M100M \le 100.
  2. (3838 점) N3000N \le 3\,000, M3000M \le 3\,000.
  3. (5555 점) 추가 제약이 없다.

입력

입력은 다음 형식으로 표준 입력에서 주어진다.
NN MM
T1T_{1} T2T_{2} \dots TNT_{N}
A1A_{1} B1B_{1} C1C_{1}
A2A_{2} B2B_{2} C2C_{2}
::
AMA_{M} BMB_{M} CMC_{M}

출력

표준 출력에 출력한다.

주어진 정보가 모순되는 경우, -111 줄로 출력한다.

그렇지 않은 경우, 출력은 NN 줄로 이루어진다. ii 번째 줄 (1iN1 \le i \le N) 에는 의원 ii 가 스파이인 경우 11 을, 의원 ii 가 스파이가 아닌 경우 22 를 출력한다. N+MN + M 개의 정보와 일치하는 답이 여러 개 존재하는 경우, 그중 어느 것을 출력해도 된다.

예제 입력 1

4 1
1 3 2 3
1 2 3

예제 출력 1

1
2
2
1

예제 출력 11 에서 의원 11 은 스파이이며, "의원 22 는 스파이이고, 또한 의원 33 은 스파이가 아니다"라는 증언은 의원 22 가 스파이가 아니므로 사실과 다르다. 따라서 예제 출력 11 은 주어진 정보와 일치하며, 정답이 된다.

이 외에도 의원 11 만이 스파이이고 다른 의원은 스파이가 아니라는 답도 정답이 된다.

예제 입력 2

4 2
2 1 3 1
4 3 1
2 4 3

예제 출력 2

-1

의원 33 이 스파이라고 하면 11 번째 탐문 조사의 정보와 일치하지 않는다. 의원 33 이 스파이가 아니라고 하면 22 번째 탐문 조사의 정보와 일치하지 않는다. 정보가 모순되므로 -1 을 출력한다.

예제 입력 3

3 2
1 2 2
2 1 3
2 3 1

예제 출력 3

1
2
2

예제 입력 33 에서는 모든 의원에 대하여 스파이인지 아닌지의 정보가 주어져 있다. 이들은 탐문 조사의 정보와도 일치하므로, 예제 출력 33 이 유일한 정답이 된다. 스파이가 아닌 의원의 증언은 사실일 수도 있고 그렇지 않을 수도 있음에 주의하시오.

코드 제출

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

로그인
내 제출

제출 내역이 없습니다.

맞은 사람

아직 맞은 사람이 없습니다.

난이도 투표
Platinum III1명 투표· 약 22시간 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출

제출 내역이 없습니다.