페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
40000
ms
메모리 제한
1024
MB
Ada는 생일 파티를 위해 쿠키를 구웠고, 부터 까지의 번호가 붙은 손님 명을 초대했다. 모든 손님이 도착하고 파티가 막 시작되려던 순간, 끔찍한 일이 벌어졌다. 누군가 쿠키를 훔친 것이다!
Ada는 탐정 모자를 쓰고 손님들을 심문하기 시작한다. Ada는 다음과 같은 형식의 목격자 진술 개를 모았다. 손님 x: "손님 y는 쿠키를 훔치지 않았다."
Ada는 어떤 손님이 무고하다면(쿠키를 훔치지 않았다면), 그 손님의 모든 목격자 진술이 참이어야 한다는 것을 알고 있다. 쿠키를 훔친 사람이 한 진술이 맞는지는 Ada도 알지 못한다는 점에 유의하라.
마지막으로, Ada의 정보원은 쿠키를 훔친 사람이 최대 명일 수 있다고 알려 주었다. 이 정보를 이용해 무고하다고 증명할 수 있는 손님의 수를 Ada가 알아내도록 도와줄 수 있는가?
실제로는 어떤 손님도 쿠키를 훔치지 않았고, Ada가 자신이 쿠키를 몇 개 구웠는지 잊었을 가능성도 있다는 점에 유의하라.
시간 제한: 40초. 메모리 제한: 1 GB. . . . 모든 에 대해, . 모든 에 대해, . 모든 에 대해, . 모든 에 대해, .
.
.
입력의 첫 번째 줄에는 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 세 정수 , , 가 주어지며, 각각 손님의 수, 목격자 진술의 수, 쿠키를 훔친 사람의 최대 수를 나타낸다. 다음 개의 줄은 목격자 진술을 설명한다. 번째 줄에는 두 정수 와 가 주어지며, 이는 다음 목격자 진술을 의미한다. 손님 : "Guest did not steal the cookies."
각 테스트 케이스마다 Case #$x$: $y$를 포함하는 한 줄을 출력한다. 여기서 는 테스트 케이스 번호이며(1부터 시작), 는 무고하다고 증명할 수 있는 손님의 수이다.
2
3 2 1
1 2
2 3
3 3 1
1 2
2 3
3 1
Case #1: 2
Case #2: 3
2
3 2 2
1 2
2 3
3 3 2
1 2
2 3
3 2
Case #1: 1
Case #2: 2
예제 케이스 #1에는 손님 명과 목격자 진술 개가 있으며, 쿠키를 훔친 사람은 최대 명이다. 목격자 진술은 다음과 같다.
손님 : 손님 는 쿠키를 훔치지 않았다.
손님 : 손님 는 쿠키를 훔치지 않았다.
이제 각 손님이 쿠키를 훔친 사람인지 아닌지에 대한 가능한 모든 경우를 살펴보자.
| 손님 1 | 손님 2 | 손님 3 | 가능한가? | |
|---|---|---|---|---|
| 시나리오 #1 | 무고함 | 무고함 | 무고함 | YES |
| 시나리오 #2 | CS | 무고함 | 무고함 | YES |
| 시나리오 #3 | 무고함 | CS | 무고함 | NO |
| 시나리오 #4 | 무고함 | 무고함 | CS | NO |
이는 쿠키를 훔친 사람이 최대 명인 모든 시나리오이다(CS). 시나리오 #3에서는 손님 1가 무고하며 손님 2가 무고하다고 진술하지만, 실제로는 손님 2가 쿠키를 훔친 사람이므로 불가능하다. 시나리오 #4도 같은 이유로 불가능하다.
남은 시나리오를 보면 손님 2와 3는 항상 무고하므로, 답은 이다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.