Alien Numbers を解いてみる

http://code.google.com/codejam/contest/dashboard?c=agdjb2RlamFtcg4LEghjb250ZXN0cxh5DA#s=p0

Alien Numbers を解いてみる.
戦略は, Alien Number を 10 進にしてから, ターゲットの基数に直す.

import sys

C=int(sys.stdin.readline().strip())
for c in range(C):
    line=sys.stdin.readline().strip()
    alienNumber, source, target=line.split(" ")
    
    sbase=len(source)
    tbase=len(target)

    decnum=0
    for i in range(len(alienNumber)):
        decnum*=sbase
        decnum+=source.find(alienNumber[i])

    result=[]
    while decnum > 0:
        result.append(target[decnum%tbase])
        decnum/=tbase
    result.reverse()
    print "Case #%d: %s"%(c+1, "".join(result))