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

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

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

Codeforces Round #361 (Div.2)

はい。
http://codeforces.com/contest/689

A. Mike and Cellphone

ざっくりと大意

・押しボタンが一意に定まるか??
・押し方5,8,6は2,5,3にもなり得て一意ではない??

Python2

d={0:'oxxx',1:'xoox',2:'xooo',3:'xxoo',4:'ooox',5:'oooo',6:'oxoo',7:'ooxx',8:'oooo',9:'oxxo'}
n=int(raw_input())
l=raw_input()
ans=1
for i in range(4):
    chk=0
    for j in l:
        if d[int(j)][i]=='x':
            chk+=1
    ans=min(ans,chk)
print 'YES' if ans else 'NO'

上下左右の4方向のいずれかにズレて枠外になるかどうかをどうやって判定するかで工夫の余地あり。パッと見はクソ問題かと思ったけど割りといい問題の気がしてきた。連想配列で0,1,2...をキーにして値に上右下左の方向でox判定させた。 だが、リスト4個で上ズレがダメなのが1,2,3、右ズレがダメなのが3,6,9,0とかにしたほうが楽だったっぽい。条件判定の仕方を自力で考えたり、工夫の余地のある割といい問題じゃないかなと思う。

B. Mike and Shortcuts

ざっくりと大意

・都市にはn個の交差点があり、それぞれ1からnまでナンバリングされている。
・Mikeは自分の家がある1番から歩き始めた。
・問題文よむのめんどくさい。。あとで