본문 바로가기

problem solving/Problem Solving

Google Code Jam 2009 - Round1A 복습

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

A. Multi-base happiness

숫자의 각 다지트의 제곱합을 구하여 반복, 반복 해서 결국 1이 나오면 행복한 숫자란다.
예를 들어 10진수 82는 아래와 같이 행복한 숫자임을 알 수 있다.

8*8 + 2*2       = 64 + 4    = 68,  repeat:
6*6 + 8*8       = 36 + 64   = 100, repeat:
1*1 + 0*0 + 0*0 = 1 + 0 + 0 = 1 (happy! :)

주어진 모든 base에 대해 행복한 숫자가 되는 가장 작은 수를 찾아 10진수로 출력하라.

Limits
2 ≤ all possible input bases  10




B. Crossing the Road

바둑판 처럼 아주 정리가 잘 된 도로가 있다. 이 시가지의 남서쪽 끝에서 걷기 시작해 도로를 횡단해 북동쪽 끝으로 이동하려고 한다. 한 블록을 인도를 따라 이동하는데는 2분이 걸리고 횡단보도를 건너는데에는 1분이 걸린다. 횡단보도를 건너기 위해서는 신호등이 파란불이 될 때까지 기다려야 하는데, 각 교차로의 신호등 주기가 아래와 같이 주어진다.

S0, W0, T0
S0는 남-북 으로 파란불이 들어왔을 때 파란불이 지속되는 시간이고 W0는 동-서로 파란불이 들어왔을 때 신호가 지속되는 시간이다. T0가 되었을 때 남-북으로 파란불이 들어오며, S0시간이 지난후 W0시간동안 동-서로 파란불이 들어온다.

그럼 목적지까지 최단 시간에 갔을때 소요되는 시간은 얼마나 걸릴 것인가







C. Collectiong Cards

유희왕 카드를 하는데 모든 종류의 카드를 다 모으고 싶다.
카드를 모으기 위해서는 카드세트를 사야하는데 카드세트에는 서로 다른 N종류의 카드가 무작위로 들어가 있다. 유희왕에 총 C가지의 카드가 있는 경우 모든 카드를 다 모으기 위해서는 카드세트를 몇 번이나 사야할까?
평균 기대치를 오차범위 10^-5 이내로 구해보자

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

Google Code Jam 2009 - Round1C 복습  (1) 2009.09.21
Google Code Jam 2009 - Round1B 복습  (0) 2009.09.17
Tight words  (0) 2008.10.16
Freckles  (0) 2008.10.16
Vase collection  (0) 2008.10.16