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

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

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

Educational Codeforces Round 14

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

A. Fashion in Berland

ざっくりと大意

・1はボタン締め、0はボタン開け状態。Berlandではボタンを1つだけ開けるファッションが流行っている。
・但し、ボタンが1つしかない場合はボタンは開けない。

Python2

n=int(raw_input())
l=map(int,raw_input().split())
ans=chk=0
print 'YES' if (l.count(0)==1 and n!=1) or (n==1 and l[0]==1)  else 'NO'

長さが2以上なら0が1つだけあること、長さが1ならボタンを締め(1)であることがYESになる。それ以外はNO。

B. s-palindrome

ざっくりと大意

・文字列が鏡像、対象状態かどうか。

Python2

p={'b':'d','d':'b','p':'q','q':'p'}
c=['A','H','I','M','O','o','T','U','V','v','W','w','X','x','Y']
s=raw_input()
if len(s)%2==1:
    if s[len(s)/2] not in c:
        print 'NIE'
        exit()
for i in range(len(s)):
    if s[i] in c and s[-1*i-1]==s[i]:
        pass
    elif s[i] in p and p[s[i]]==s[-1*i-1]:
        pass
    else:
        print 'NIE'
        exit()
print 'TAK'

はい。対称になるかどうかは問題文のフォントを見て考えましょう。英小文字iやlは対称にならない文字です。文字列長さが奇数なら中央に単体で対象になる文字が必須です、AやHなど。それ以外の箇所では単体で対象になる文字は反対側にも同じ文字が必要、bとdなどは反対側に対象になる文字が必要。それら以外が検出されたら即時でNIE判定になる。