Codeforces Beta Round #48
はい。最終更新日:2014/05/14
http://codeforces.com/contest/51
A. Cheaterius's Problem
implementation
ざっくりと大意
・Cheateriusは占い師で魔法使いで、嘘つき。
・彼はCheateriusのお守りを作っている。
・2*2の正方形のためにドミノをペアで固める。
・お守りは0,180,270度回せるがひっくり返すのは禁止。
・n個のペアになったドミノが**区切りで与えられて、それが何種類あるか??
方針のようなもの
・ドミノ1000個なら全部全部確認しても大丈夫じゃね?
AC出すのに翌日昼まで掛かるとかしょぼすぎた。。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import time import sys, io import re, math #start = time.clock() n=input() l= [[] for _ in range(n)] chk,jk=0,0 for i in range(n*3-1): w=raw_input() if w=='**': chk+=1 else: if len(l[chk]): w=w[1],w[0] l[chk]+=w else: l[chk]+=w for i in range(1,len(l)): stp=0 for j in range(len(l)): if i==j or stp==1: break for k in range(4): if l[i]==l[j]: stp+=1 jk+=1 break else: l[j]=[l[j][1],l[j][2],l[j][3],l[j][0]] print len(l)-jk
そういえばcodeforcesの復旧不能鯖落ちでデータが飛んだ期間の分が提出してないことになってたので再提出した。
ちなみに新しく書いたほうが遅かった。。。当時は翌日昼までかけてAC出したらしいので成長はしてるのかしてないのか。。。
n=int(raw_input()) ans=0 l=[[]] for i in range(n*3-1): w=raw_input() if w=='**': l.append([]) else: l[-1].append(w) chk=[l[0]] for i in range(1,n): for j in range(len(chk)): i9=[l[i][1][0]+l[i][0][0],l[i][1][1]+l[i][0][1]] i18=[l[i][1][1]+l[i][1][0],l[i][0][1]+l[i][0][0]] i27=[l[i][0][1]+l[i][1][1],l[i][0][0]+l[i][1][0]] if (l[i] not in chk) and (i9 not in chk) and (i18 not in chk) and (i27 not in chk): chk.append(l[i]) print len(chk)
B. bHTML Tables Analisys
ざっくりと大意
・また今度