Codeforces Beta Round #52 (Div. 2)
はい。最終更新日:2014/05/30
http://codeforces.com/contest/56
A. Bar
implementation
ざっくりと大意
・Berlandでは18歳未満はお酒はダメ
・Vasyaは18歳未満の人やお酒の動きをチェックする
方針のようなもの
・お酒か18歳未満の行をカウント
n=input() drink=old=0 sake=['ABSINTH','BEER','BRANDY','CHAMPAGNE','GIN','RUM','SAKE','TEQUILA','VODKA','WHISKEY','WINE'] for i in range(n): w=raw_input() if w.isdigit(): if int(w)<18: old+=1 elif w in sake: drink+=1 print old+drink
年齢、数字かどうかはisdigit()で判定。数字ならintでキャストして18歳未満かどうか。数字ではない文字列ならアルコールリストに入っているかどうかで判定。
B. Spoilt Permutation
ざっくりと大意
・Vasyaは毎年コインを集め1からnまでのコインを持っている
・並びを発行順で維持している。だがある時に弟がl,rの区間のコインの並びを反転させた
・反転している区間を探す
方針のようなもの
・1 6 5 4 3 2 7 8なら2番から6番の区間を反転させる
・2 3 4 1は反転させる区間がない扱いになる
・左から見ていって+1増加でなければ開始位置、ソコから-1ずつ減少が続く、途切れたら終了位置で数が繋がるかチェックする
・繋がらなければor最後まで見に行ってまた+1増加ではない場所があれば0 0、最後まで見に行ければさっきの座標を出す
・と思ったけどうまく行かなかった