Reveals
시간 제한1초메모리 제한512 MB
집 안에 있던 사람들과 외부 목격자 명단이 주어질 때, 일곱 가지 우선순위 규칙을 차례로 적용해 범인을 찾습니다.
문제
흐에에…
누군가가 어둠을 틈타, 시이(swi)의 엄청난 케이크를 먹어버렸다!
시이는 케이크를 좋아하는 사람이다. 그래서 여느 때처럼 근처 가게에서 사 온 굉장히 큰 케이크를 식탁 위에 올려놓고 감상하고 있었다. 그런데 방이 너무 따뜻해서 시이는 잠이 들었고, 깨어나 보니 케이크가 사라져 있었다!
사건이 일어났을 때 집 안에는 시이와 시이를 제외한 명의 사람이 있었다. 케이크를 먹은 범인은 사건이 일어났을 때 집 안에 있던 사람 중 한 명이다.
시이는 주변을 수소문해서, 사건이 일어나지 않은 곳에서 사건이 일어났을 때 목격된 사람들의 이름 개를 얻었다.
이 사건은 추리 소설의 원칙을 따르므로, 범인을 다음 규칙으로 추리할 수 있다.
- 아래 규칙은 우선순위대로 적용한다. 두 개 이상의 규칙이 동시에 범인을 찾아내면, 규칙 번호가 작은 쪽을 따른다.
- 동호는 악질이다. 사건 당시에
dongho가 집에 있었다면, 목격담과 관계없이dongho가 범인이다. - 집에 있던 사람 중 목격담이 없는 사람이 단 한 명이라면, 소거법에 따라 그 사람이 범인이다.
- 목격담이 없는
bumin이라는 이름의 사람이 집에 있었다면, 그 사람이 범인이다. - 목격담이 없는
cake라는 이름의 사람이 집에 있었다면, 케이크는 거짓말이므로(The cake is a lie) 그 사람이 범인이다. - 목격담이 없는
lawyer라는 이름의 사람이 집에 있었다면, 변호사는 항상 범인이므로 그 사람이 범인이다. - 이름이 앞선 사람일수록 케이크를 몰래 먹기 쉬우므로, 집에 있던 시이가 아닌 명 중 목격담이 없고 사전순으로 이름이 가장 빠른 사람이 범인이다.
케이크가 있는 방에서 잠든 시이는 다른 곳에서 목격되지 않는다.
한 사람의 이름은 유일하며 동명이인은 없다.
한 사람이 여러 번 목격되었을 수 있고, 목격된 사람이 사건이 일어났을 때 집 밖에 있었을 수도 있다.
시이의 케이크를 먹은 범인을 찾아라.
입력
첫 번째 줄에 시이의 케이크가 없어졌다는 메시지가 입력된다. (swi's cake is missing!)
두 번째 줄에 집 안에 있던 시이를 제외한 사람의 수 이 주어진다.
그다음 개 줄에 시이를 제외한 명 각각의 이름이 한 줄에 하나씩 주어진다.
그다음 줄에 목격담의 수 이 주어진다.
그다음 개 줄에 사건이 일어나지 않은 곳에서 목격된 사람의 이름이 주어진다.
출력
문제의 규칙에 따라, 시이의 케이크를 먹은 범인의 이름을 출력한다.
제한
- 모든 사람의 이름은 영문 소문자로만 이루어진 1글자 이상 8글자 이하의 문자열이다.
- 문제에 나온 규칙으로 범인을 유일하게 추측할 수 있다.