Google code jam 2018 Practice Session 2018
Updated:
Google code jam 2018 Practice Session 2018
とにかく GCJ は苦手なコンテストなので、全く頑張る価値を見出せない。 qual だけ通して round 1 は参加できたら参加する感じで行こうと思う。
practice は過去問でできているようだ。もう解答を書いてしまおう。
Solutions
Number Guessing
二分探索するだけ。
Senate Evacuation
案外難しい。過半数を得ないようにするためには、
if (get<0>(V[0]) > get<0>(V[1]) || (sum % 2 == 1 && get<0>(V[0]) == get<0>(V[1])))
{
get<0>(V[0])--;
sum--;
ans.push_back(get<1>(V[0]));
}
else
{
get<0>(V[0])--;
get<0>(V[1])--;
sum -= 2;
ans.push_back(get<1>(V[0]) + get<1>(V[1]));
}
のようにする。
Steed 2: Cruise Control
一番到着時刻が遅い馬に合わせてゴールするだけ。
Bathroom Stalls
真ん中を占拠すると、区間を 2 分割することができる。同じ長さの区間は同じ結果を与えるので、 map
で管理して一気に処理すればよろしい。
Others
言語選択を間違えないようにする。
徹底的にやるなら auto-submitter を作るべきだが、どうせ敗退するコンテストを一生懸命頑張るのは馬鹿馬鹿しいと思う。