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

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

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

Canada Cup 2016

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

A. Jumping Ball

ざっくりと大意

・ボールが'<', '>'の向きに動く。動いた後にnの範囲外になってしまう開始位置は何通りあるか。
・サンプル1は1,2番目の<が範囲外になる。3番目の>と4番目の<はそれで左右を繰り返すだけで落ちない。
・サンプル2は1-5番目のいずれの>でも右へ出て範囲外になる。
・サンプル3はどこから開始しても2,3番目の><で左右を繰り返すだけで落ちない。

  Python2  

print input()-len(raw_input().rstrip('>').lstrip('<'))

コンテスト当時は問題文の意味が分からなくてACできなかった。落ちるのは左側にある連続した<と右側にある連続した>だけ。それ以外は><の箇所の左右を行ったり来たりするだけになる。

B. Food on the Plane

ざっくりと大意

・飛行機の座席がコックピットに近い方から1列目、2列目...となっている。それぞれの列にはaからfまでの席がある。
・中央通路を挟んでabcは左側、defは右側になる。また、a,fが窓側でc,dが通路側である。
・昼食の配膳は2人の担当が同時に最初の列から最後の列の方に向かって行う。
・2人は2列の間隔を維持するので1人目の担当は1,2列目から、2人目の担当は3,4列目からとなる。それが終ると同じように移動して5,6列目と7,8列目に配膳が開始される。
・各列の中では窓側から通路に向かって配膳となる。配膳を1人に対して1秒で1列移動するのにも1秒かかる。
・入力で与えられる座席の人が配膳を受けるのはいつか。

Python2

d={'f':1,'e':2,'d':3,'a':4,'b':5,'c':6}
n=raw_input()
l=d[(n[-1])]
n=int(n[:-1])-1
print n/4*16+n%2*7+l

立式して求めないと無理だと思う。あと座席のは別に連想配列使う必要なかった。普通に文字列でindex取れば平気だった。4列単位で1ターン?として2ターン目以降はターン毎に16秒加算とした。またそれぞれが担当しているときの1列目は加算は何もなし、2列目は1列目の配膳の6秒と移動に1秒で7秒を加算した。また、それぞれの文字ごとの配膳される番目に合わせた秒数を加算すると解になると思う。