본문 바로가기

problem solving/Problem Solving

Google Code Jam 2009 - Round1C 복습

http://code.google.com/codejam/contest/dashboard?c=189252#

A. All Your Base

기원전 2100년, 어떤 외계인이 지구에와 자신의 언어로 지구와의 전쟁까지 남은 시간을 기록했다.

이 외계인의 언어의 각 심볼은 하나의 숫자와 대응되는 것으로 보인다. 예를 들어 'ab2ac999'는 10진수로 '31536000'과 대응될지도 모른다. 하지만 불행하게도 우리는 이 외계인이 사용하는 진수와 각 심볼이 정확히 어떤 숫자와 대응되는지 알 수 없다. 그래서 우리는 외계인이 쓴 암호문이 나타낼 수 있는 최소한의 숫자를 알고 싶다.

The answer will never exceed 1018



 
B. Center of Mass

N마리의 개똥벌레가 있다. 이 개똥벌레들은 오로지 일정한 속도로 이동하며, 모든 개똥벌레는 같은 질량을 가진다. 당신은 우주의 중심좌표(0, 0, 0) 에 서있으며, 개똥벌레의 무게중심이 당신과 얼마나 가까워 질 수 있는지 알고싶다.

시간 t=0 일때 N마리의 개똥벌레의 위치와 속도가 주어졌을 때, 나와 개똥벌레들의 무게중심이 가장 가까워지는 시간과 그때의 무게중심과의 거리를 구하여라.



C. Bribe the Prisoners

감옥이 있는데 이 감옥은 감방이 일렬로 배치되어 있다. 서로 인접한 감방에 수감된 죄수를 '이웃'이라 부르는데 '이웃'들 끼리는 감방의 벽을 통해 서로 커뮤티케이션을 할 수 있다. 죄수들은 평소에는 평화롭게 지내지만, 어떤 죄수가 석방되면 그 죄수의 이웃죄수는 그 사실을 알게되고 난동을 부리게 된다. 그 즉시 난동을 부리는 죄수의 이웃또한 그 사실을 알게되어 난동을 부린다. 하지만 난동을 부리는 죄수의 옆방이 비어있다면 난동을 더 이상 퍼지지 않고 거기에서 끝난다.
난동을 부리는 죄수를 진정시키기 위해 당신은 죄수에게 돈을 주어야 한다.

P개의 감방에 죄수가 가득 수감되어 있을 때, 이 중 Q명의 죄수를 석방하려 한다. 죄수에게 지불되는 돈을 최소화하기 위해 이 Q명의 죄수를 어떤순서로 석방해야 할 것인가? 당신이 지불해야할 최소의 돈을 계산하라

'problem solving > Problem Solving' 카테고리의 다른 글

Google Code Jam 2009 - Round1B 복습  (0) 2009.09.17
Google Code Jam 2009 - Round1A 복습  (0) 2009.09.15
Tight words  (0) 2008.10.16
Freckles  (0) 2008.10.16
Vase collection  (0) 2008.10.16