[BOJ 9514] 카드 게임

View as PDF

Submit solution

Points: 4
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

명우와 홍준이가 재미있는 카드 놀이를 하고 있다. 이 카드놀이는 0부터 511까지 수가 적힌 카드 N개와 종이 한 장으로 진행된다. 처음에 종이에는 0이 적혀있다.</p>

명우부터 시작해서 명우와 홍준이가 번갈아 가면서 턴을 진행한다. 각 턴에 진행하는 사람이 남아 있는 카드중에서 한 장을 마음대로 고른다. 고른 카드에 적혀 있는 수가 x고, 종이에 적혀있는 수가 y일 때, 종이에 있는 수를 지우고 x|y(x or y)를 새로 적는다. 만약, 자기 턴에 남아 있는 카드가 한 장도 없거나, 자기가 새로 쓴 수가 511일 때, 그 사람은 게임을 지게 된다.

명우와 홍준이 둘 다 이 게임에서의 최적의 전략을 알고 그 전략으로 게임에 임한다. 카드 조합이 주어졌을 때, 누가 이기는지 알아보자.

입력 형식

첫 줄에 초기 카드의 개수 N이 주어진다. (1 <= N <= 50) 둘째 줄에 각 카드에 적혀있는 수를 의미하는 N개의 음이 아닌 정수가 주어진다. 카드에 적혀 있는 수는 512보다 작다.

출력 형식

만약 명우가 이긴다면 "myungwoo"를 출력하고, 홍준이가 이긴다면 "hongjun"을 출력한다. (따옴표 제외)

예제 입력

5
3 5 7 9 510

예제 출력

myungwoo

힌트

만약 명우가 처음에 510카드를 고르면 홍준이는 다음에 어떤 수를 골라도 종이에 적는 수가 511이기 때문에 게임에 지게 된다.


Comments

There are no comments at the moment.