Mediumに挑戦
今日は嗜好を変えてMediumに挑戦。
Arenaでやるもの伝えたら先輩(@tozangezan)が来てくれていろいろアドバイスをいただきました。
しかし、今回はタイムアップ。
他人のコードから学びました。
先輩のアドバイスうけてやってみても問題文への理解が足りなかったようです。。。
ヒープ、暗黙の了解?
今回の問題はヒープに関する問題でしたが、どうやら暗黙の了解で10,1みたいな部分は無いと・・・
多分そういう事だとおもう。。。
サンプルから愚直に書いたら通りませんでしたが、どうやら下のコードでいいらしいです。
ちなみにこれは他人のコードを自分風にアレンジしたもの。
class OrderedNim { public: string winner(vector <int> layout) { reverse(layout.begin(), layout.end()); vector<bool> ok(layout.size()); ok[0] = true; for (int i=1; i<layout.size(); i++) { cout << layout[i] << endl; if (layout[i] == 1) { ok[i] = !(ok[i-1]); continue; } ok[i] = true; } if (ok[ok.size()-1]) return "Alice"; else return "Bob"; } };
ん〜。問題文の日本語訳がないと納得できないような・・・
とりあえずこれから数日間CodeChefに徹します。