시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 903 | 236 | 199 | 30.152% |
어느 무더운 여름날, 선린 야구부 앞으로 의문의 음료수가 도착했다!
"이거 마시고 힘내! - 1루수에게 😍"
선수들은 서로 자기가 1루수라며 누가 1루수다 아니다로 싸우기 시작했다. 총 9명이 싸우고 있는데, 9명 중 한 명이 거짓말을 하고 있는 것 같다! 선수들은 아래 중 하나를 주장하고 있다. (편의상 선수들은 1, 2, ..., 9의 등번호로 구분하자.)
선수들의 설전을 지켜보던 감독님이 답답해서 한마디 했다.
"1루수가 누구야 2루수 이름이 뭐야 3루수는 몰라"
당신은 이제 '정확히 한 명이 거짓말을 하고 있다'는 가정과 '1루수는 정확히 한 명 존재한다'는 사실을 바탕으로 논리적 추론을 통해 특정 인물이 반드시 1루수라는 결론을 이끌어내야 한다. 학생들의 주장만으로 이러한 결론을 이끌어내는 것이 불가능할 수도 있다는 사실에 유의하자.
1루수가 누구야
9개의 줄에 걸쳐, 각 줄마다 0 또는 1이 주어지고 A가 주어진다. (1 ≤ A ≤ 9)
논리적 추론을 통해 1루수를 유일하게 특정할 수 있으면 해당 선수의 등번호를 출력한다.
1루수가 누군지 알 수 없다면 -1을 출력한다.
1 2 0 2 1 2 1 2 1 2 0 4 0 4 0 4 0 4
2
(1 2)가 거짓말이라면, 선수 2가 1루수라는 주장과 1루수가 아니라는 주장이 동시에 존재하여 모순이다. (0 4)가 거짓말인 경우도, 마찬가지의 이유로 모순이다. (0 2)가 거짓말인 경우, 선수 2를 유일한 1루수로 특정할 수 있다. 다른 경우는 없다.
0 1 0 1 1 2 0 3 0 4 0 5 0 6 0 7 0 8
9
(1 2)가 거짓말이라면, 1번부터 8번까지 전부 1루수가 아니므로 9번을 1루수로 특정할 수 있다. 다른 경우는 모두 모순이다.
1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9
-1
누가 거짓말을 하고 있다고 가정해도 모순이 나온다.
0 1 0 1 0 1 0 1 0 1 0 2 0 3 0 4 0 5
-1
누가 거짓말을 하는지에 따라 2번부터 5번까지 중 한 명이 1루수가 될 수 있다. 따라서 특정 인물이 반드시 1루수라는 결론은 내릴 수 없다.
High School > 선린인터넷고등학교 > 제3회 천하제일 코딩대회 A번