Codeforces Round #373 (Div.2)
はい。
http://codeforces.com/contest/719
A. Vitya in the Countryside
ざっくりと大意
・0,1,2...13,14,15,14,13...2,1,0,1...のように月の満ち欠けがループする。数列aの最終日の次の日の大小はどうなるか。
Python2
n=int(raw_input()) a=map(int,raw_input().split()) if a[-1]==15 or (n>1 and a[-1]!=0 and a[-2]-a[-1]>0): print 'DOWN' elif a[-1]==0 or (n>1 and a[-2]-a[-1]<0): print 'UP' else: print -1
末尾が15か、要素数2つ以上で末尾2番目>末尾1番目(末尾0は例外でUP)ならDOWN確定。末尾が0か、要素数2つ以上で末尾2番目<末尾1番目(末尾15は例外でDOWN)ならUP確定、それ以外は(おそらく末尾0,15以外で要素数1つのパターン)確定できないので-1。
B. Anatoly and Cockroaches
ざっくりと大意
・r,bが並んだ文字列をr,bがそれぞれ交互になるようにしたい。2つを入れ替えて交換するか、1つを塗り替えるのを1手とする場合に交互の状態が完成する最小手数はいくつか??
Python2
n=input() s=raw_input() r1=r2=b1=b2=0 for a,i in enumerate(s): if a%2==0: if i=='r': r1+=1 if i=='b': b2+=1 elif a%2==1: if i=='r': r2+=1 if i=='b': b1+=1 print min(min(r1,b1)+abs(r1-b1),min(r2,b2)+abs(r2-b2))
先頭からrbr..となる場合と、brb...となるのを別々考える。数えたr,bの少ない方は入れ替えで処理が出来るもの、rとbの差の絶対値は単独で塗り替えが必要なもの。
C. Efim and Strange Grade
ざっくりと大意
・小数点以下の部分を最大でt回四捨五入にして与えられた数が最大のものになるようにする。
・一度やったことあるけどあとで