Google Code Jam 2011 Qualification Round
全てpythonでGolfして解きました。本当はbefungeとかで解きたかったけど、予想以上に問題がHARDだったのでやめました。
努力不足なのであんまり短くないです。
A(204 Byte)
for T in range(input()): x=raw_input().split();t=i=1;w=[1,1];d=[0,0] while i<len(x): c=x[i]<"F";v=int(x[i+1]) if abs(w[c]-v)<=d[c]:i+=2;w[c]=v;d[c]=-1 d[0]+=1;d[1]+=1;t+=1 print"Case #%s:"%(T+1),t-1
B(309 Byte)
for T in range(input()): x=raw_input().split();i=int(x[0]);m={};d={};h=[] for s in x[1:i+1]:m[s[:2]]=m[s[1::-1]]=s[2] for s in x[i+2:-2]:d[s]=d[s[::-1]]=1 for c in x[-1]: while h and h[-1]+c in m:c=m[h.pop()+c] if any(a+c in d for a in h):h=[] else:h+=[c] print"Case #%s:"%(T+1),`h`.replace("'","")
C(147 Byte)
for T in range(input()):n=input();x=sorted(map(int,raw_input().split()));z=i=0;exec"z^=x[i];i+=1;"*n; print"Case #%s:"%(T+1),[sum(x[1:]),"NO"][0<z]
D(112 Byte)
for T in range(input()):input();print"Case #%s:"%(T+1),sum(i+1!=int(v)for i,v in enumerate(raw_input().split()))