Codeforces Round #163 (Div. 2)
はい。
http://codeforces.com/contest/266
A. Stones on the Table
ざっくりと大意
・n個の位置がred,blue,greenのいずれかの色のものが並んでいる
・隣接する石が自身と異なる色、若しくは既に端っこで隣接が無いようにするときに、与えられた最初の石の並びから幾つ取り除くか?
方針のようなもの
・単純に先頭から見ていけばなんとかなるんじゃないかな?
n=int(raw_input()) w=raw_input() ans=0 chk=w[0] for i in xrange(1,n): if chk==w[i]: ans+=1 else: chk=w[i] print ans
B. Queue at the School
ざっくりと大意
・食堂でn人の男女が並んでいる。
・前にGがいるBはGを抜かして1つ前に出る。というのをt回行う。
Python2
n,t=map(int,raw_input().split()) l=list(raw_input()) f=0 for i in range(t): for j in range(n-1,0,-1): if l[j]=='G' and l[j-1]=='B' and f==0: l[j],l[j-1]=l[j-1],l[j] f=1 else: f=0 print ''.join(l)
GBの並び方によって1度に延々と抜かされてしまうことのないようにフラグを立てて連続で抜かれないように処理をした。