読者です 読者をやめる 読者になる 読者になる

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

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、最後まで見に行ければさっきの座標を出す
・と思ったけどうまく行かなかった