증인의 신뢰성
시간 제한1초메모리 제한128 MB
증인들 사이의 동의와 비동의 진술이 주어질 때, 어떤 증인과 동의하면서 동시에 동의하지 않게 되는 모순된 증인을 모두 찾는다.
문제
법정에서 번부터 번까지 번호가 매겨진 증인 명이 증언한다. 각 증언은 다음 두 가지 형태 중 하나이다.
- 증인 가 증인 에게 동의한다, 또는
- 증인 가 증인 에게 동의하지 않는다.
동의는 다른 증인의 견해까지 물려받는다. 즉, 증인 가 증인 에게 동의하면 다음이 성립한다.
- 증인 가 동의하는 모든 증인에게 증인 도 동의한다.
- 증인 가 동의하지 않는 모든 증인에게 증인 도 동의하지 않는다.
모든 증인은 항상 자기 자신에게 동의한다.
증언 전체로부터, 증인 가 어떤 증인 에게 동의하면서 동시에 동의하지 않는다는 것이 유도되면, 증인 를 신뢰할 수 없다고 한다.
주어진 모든 증언을 바탕으로 신뢰할 수 없는 증인을 모두 찾아라.
입력
첫째 줄에 증인의 수 ()이 주어진다. 둘째 줄에 증언의 수 ()이 주어진다.
이어지는 개의 줄에는 각각 두 정수 와 (, )가 주어진다. 가 양수이면 "증인 가 증인 에게 동의한다"는 뜻이고, 가 음수이면 "증인 가 증인 에게 동의하지 않는다"는 뜻이다.
출력
다음 중 하나를 출력한다.
- 신뢰할 수 없는 증인이 한 명도 없으면 "아무도 없음"을 뜻하는 단어
NIKT한 개를 출력한다. - 그렇지 않으면 신뢰할 수 없는 증인의 번호를 오름차순으로 한 줄에 하나씩 출력한다.