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

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

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

Codeforces Round #328 (Div.2)

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

A. PawnChess

ざっくりと大意

・8 * 8のマスの中にA側の白と、B側の黒のポーンがいくつか置かれている。
・それぞれのマスは上から行(r)と左から列(c)を表す。
・白が一行目に達するか、黒が8行目に達するのがそれぞれの勝利条件。
・必ずどちらかが勝利する盤面であることが保証される。

方針のようなもの

・’B'と’W'のそれぞれをどちらがゴールに近いか慎重に比較する。

python

l=[]
s=[[''] for i in range(8)]
for i in range(8):
    l.append(raw_input())
A=B=8
for i in range(8):
    for j in range(8):
        s[i][0]+=l[j][i]
for i in s:
    a=b=-1
    if 'B' in i[0]:
        for j in i[0]:
            if j=='B':
                b=0
            elif j=='.' and b!=-1:
                b+=1
            elif b!=-1 and j=='W':
                b=-1
        if b!=-1: B=min(b,B)
    if 'W' in i[0]:
        for j in i[0][::-1]:
            if j=='W':
                a=0
            elif j=='.' and a!=-1:
                a+=1
            elif a!=-1 and j=='B':
                a=-1
        if a!=-1: A=min(a,A)
print 'A' if A==min(A,B) else 'B'

リストは操作は横がやりやすいのに駒の移動が縦なので横向きに回転させて処理しやすく準備した。その後で'W','B'がゴールの近いほうを探して比べた。

B. The Monster and the Squirrel

ざっくりと大意

・n次正多角形が対角線で領域が分割される。
・分割された領域を全部巡るのに線を何回跨ぐかという事らしい??

方針のようなもの

・あとで