Bayan 2015 Contest Warm Up
はい。
http://codeforces.com/contest/475
A. Bayan Bus
ざっくりと大意
・k人の参加者がバスで移動する、最奥の席は4人席でそれより前は2人席と通路と1人席である。
・k人が乗った状態を奥から着席させて座るトコをO、空席は#、通路は.で出力する。
方針のようなもの
・最初は4人で席が埋まって、以降は3人で埋まるのを一行ずつ処理する。
n=int(raw_input()) def sit(x,q): for i in range(len(q)): if q[i]=='#': q[i]='O' x-=1 if x==0: break return q h='+------------------------+' a=['|','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.|D|)'] b=['|','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.|.|'] c=['|','#','.......................|'] d=['|','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.','#','.|.|)'] if n>4: a=sit((n+1)/3,a) elif n>=1: a=sit(1,a) if n>=6: b=sit(n/3,b) elif n>=2: b=sit(1,b) if n>=3: c[1]='O' if n>=7: d=sit((n-1)/3,d) elif n>=4: d=sit(1,d) print h print ''.join(a) print ''.join(b) print ''.join(c) print ''.join(d) print h
座席は似たパーツが多いし1行毎にする必要なかったかもだけど今回は1行ずつ別々に書いた。
B. Strongly Connected City
ざっくりと大意
・後で