Codeforces Round #327 (Div.2)
はい。
http://codeforces.com/contest/591
A. Wizards' Duel
ざっくりと大意
・lをp:qで分けたうちのpの方を出力するっぽい??
方針のようなもの
・その通りに計算する。
l=int(raw_input()) p=int(raw_input()) q=int(raw_input()) print l*(p*1.0/(p+q))
問題文をハリーポッターまでしか読まずにサンプルの入出力でエスパーした。計算は適当で大丈夫っぽい。
B. Rebranding
ざっくりと大意
・長さnの文字列に対して、クエリがm回与えられて\(x_i\)と\(y_i\)を置換する。無いのは無視する??
方針のようなもの
・毎回置換するとTLEになるので置換の内容を保存して最後に処理する。
n,m=map(int,raw_input().split()) w=raw_input() l={} T=range(26) for i in T: l[chr(i+97)]=chr(i+97) for i in range(m): x,y=map(str,raw_input().split()) for i in l: if l[i]==x: l[i]=y elif l[i]==y: l[i]=x ans='' for i in w: ans+=l[i] print ans
問題文読まずにサンプルの入出力で内容を判断しました。クエリごとにa-zを格納している連想配列の値が\(x_i\),\(y_i\)であるものを置換する。初回はキーと値が一致しているが置換が進むと一致しなくなる。クエリ処理はひたすら値を入れ替える。値を入れ替えるのがクエリの置換の内容を保存と同等である。