무거운 동전
시간 제한0.5초메모리 제한1024 MB
같은 개수의 두 묶음을 비교하는 저울로 2^K개 동전 중 무거운 동전의 개수를 세고, 무거운 동전 하나의 번호를 찾습니다.
문제
저지대 왕국에는 수 세기 동안 영토를 침입으로부터 지켜 온 웅장한 성벽이 있었다. 정확히 1년 전, 한 도적 무리가 이 성벽이 너무 복잡하다고 판단해 불태워 무너뜨렸다. 이제 마리아 공주는 숙련된 건축가들을 고용해 성벽을 원래 모습으로 되돌리려 한다.
건축가들에게 대금을 치르기 위해 공주는 왕실 금고에 가서 개의 동전을 찾았다. 각 동전에는 부터 까지의 고유한 번호가 붙어 있다. 회계관은 동전에 가벼운 것과 무거운 것 두 종류가 있다고 알려 주었다. 무거운 동전은 모두 같은 무게이고, 가벼운 동전도 모두 같은 무게이다. 또한 금고에는 무거운 동전과 가벼운 동전이 각각 적어도 하나씩 있다고 했다.
건축가들은 무거운 동전으로만 대금을 받기로 했으며, 공사를 시작하기 전에 공주는 무거운 동전 하나를 선금으로 건네야 한다. 문제는 회계관이 무거운 동전이 몇 개인지, 어떤 동전이 무거운지 알지 못한다는 것이다. 그에게는 같은 개수의 동전을 담은 두 묶음의 무게를 비교하는 저울이 있다. 그는 금고에 대금을 치를 만큼 무거운 동전이 충분한지 확인하고, 선금으로 쓸 무거운 동전을 하나 찾아야 한다. 그러나 이 작업은 그에게 너무 오래 걸린다. 공주는 공사를 최대한 빨리 시작하고 싶어 하므로 당신에게 도움을 청했다.
count_heavy 함수를 구현하는 coins 프로그램을 작성하라. 이 함수는 심사 측 프로그램과 통신하면서 왕실 금고에 있는 무거운 동전의 총 개수와 그중 하나의 번호를 찾는다.