Codeforces Round #393 (Div.2) (8VC Venture Cup 2017 - Final Round Div.2 Edition) 参加記

はい。 o----- (+1:-1) 1374(+25)
http://codeforces.com/contest/760
Aのみ1完。でもまぁ初Hackが出来たし、その分の加点がレーティング増減の境だったようでそれなりに満足。立ち回りとしてA,Bを先に問題文を解読しておいてBが苦戦しそうなことはわかっていたがとりあえずAをpre通す。Bを色々試行するが解に至らないし、通してる人数もあきらかに普段より少ないので難易度を察す。Cもちょっとすぐに出来る問題文ではなかったので、AをロックしてHack対象を探して運良く落とせるのがあって1Hack。残り1時間程度かな?B問題を紙とペンで色々試すがうまくいかなかった。

A. Petr and a calendar

ざっくりと大意

・m月がd番目の曜日から始まるとカレンダーが何行になるか。

Python3

m,d=[int(i) for i in input().split()]
m0=[4,6,9,11]
m1=[1,3,5,7,8,10,12]
if m in m0:
    if d==7:
        ans=6
    else:
        ans=5
elif m in m1:
    if d>=6:
        ans=6
    else:
        ans=5
else:
    if d==1:
        ans=4
    else:
        ans=5
print(ans)

30日の月と31日の月、2月はうるう年ではないとのことで28日となる。それぞれを行数が変わるのが何番目で変わるかを手動で調べておいてべた書きした。room内を必死に探したら月の分類がおかしい人がいたので2回目のHack投げで落とした。長いコードじゃなかったし慎重に考えてから投げれば1回で落とせたのはややもったいない。

B. Frodo and pillows

ざっくりと大意

・n人のホビットがいて、ベッドはn個で枕がm個ある。Frodoはk番目のベッドで寝る。
・それぞれのホビットが少なくとも1つの枕を使い、かつ隣との差が2個以上でないようにした時にFrodoは最大で何個のまくらを使えるか。

提出に至らず。想定としては全員に1つずつ使った後にFrodo、k番目を最も高くなるようにして両隣が1つずつ減って山型なるような枕の配り方だと思った。だがシミュでAC出来る入力制限じゃなかったし、紙とペンで5,6人程度の場合をいくつか試したけど立式に至るような法則性を見つけられずでおわった。