2017-04-06
SRM 710
Div1 Easy (300) ReverseMancala
問題
- マンカラはコマを穴から穴へと動かして遊ぶゲームである。ここではコマを石、穴をスロットとする
- N個のスロットがあり、円環状に並んでいる
- ゲームは1ターンずつ進行する
- 操作Aまたは操作Bのいずれかの操作が可能である
- 操作Aは、まずひとつ以上の石が入ったスロットを選び、石を全て手に移す
- 次に、時計回りで隣にあるスロットに、石をひとつずつ置いていく
- 石がなくなったら終了
- 操作Bは、まず石が一つ以上存在するスロットを選ぶ
- 次に、反時計回りで、石をひとつずつ取っていく
- スロットに石が入っていなかったら、そこに手持ちの石をすべて置いて終了
- 状態startとtargetが与えられる
- startからtargetにするための手順を求める
方針
- 何となく均等にできそう
- いろいろやってみるが終了
- (終了後)
- ある場所X以外からAの操作をひたすら実行すると、X一箇所に集めることができる
- Bの操作はAの逆である
- targetからXに集める操作を求めておいて、逆順にBを実行するとXからtargetにできる
- startからXに集める操作とくっつけて完成
- 逆順にするときはindexの値が最後に置いた場所になるので、そこを何とかする
- https://github.com/firewood/topcoder/blob/master/srm_7xx/srm_710/ReverseMancala.cpp
結果
--- 0pt 42nd/226 rating 1683 -> 1649 (-34)
部屋で誰も提出できなかった珍しい回。連続プラス点が7回で終わってしまった。
マンカラは実在のゲームだったらしい。
コメントを書く
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20170406
リンク元
- 14 http://htn.to/PHUdHg6HT
- 11 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 8 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 5 https://www.google.co.jp/
- 5 https://t.co/sZo7fDLCio
- 2 http://www.adventar.org/calendars/1625
- 1 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCEQFjAD&url=http://goo.gl/wN5PIU&ei=0VnmWOvkHpPS5QHFuwE&usg=AFQjCNFVcHD2ydnXAgtK25ZPEQ6UF8PmTw
- 1 http://bit.ly/2oIyVpl
- 1 https://www.google.com/
- 1 http://www.adventar.org/calendars/850