2012-08-23
SRM 553
Div1 Easy (250) Suminator
問題
- Suminatorは加算だけ可能なスタックマシンである。
- プログラムとして非負の整数の配列が与えられ、順番に実行する。
- スタックへは、プログラムが0なら2値を足して格納し、0以外ならそのまま格納する。
- 最後にスタックの先頭を表示して終了する。
- 一箇所だけ書き換えて結果をwantedResultにするための最小の数値を求める。
方針
- 書き換える場所をPOSとする
- POSを0に書き換えてシミュレーションし、結果がwantedResultなら0を返す(最小ケース)
- POSを1に書き換えてシミュレーションした結果をXとする
- XがwantedResultなら1を返す
- XがwantedResultより小さくて、かつ、Xを求めるためにPOSのデータを使っているなら、可能なのでwantedResult-X+1を返す
- それ以外は不能(-1)
- あらかじめスタックにはサイズの2倍だけ0を積んでおいた
- POSを使っているかどうかは、std::pairのsecondに入れておいた
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_553/Suminator.cpp
結果
o-- 164.13pt 206th rating 1251 -> 1344 (+93)
素直に考えて普通に書いたら通った。良い感じ。
longにしてないコードがたくさんあったようで結構落ちていた。
コメントを書く
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120823
リンク元
- 43 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDUQFjAD&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120823/1345745155&ei=iUI8UI-hN4TwmAWFtYGgCA&usg=AFQjCNEht9O5AicHC1RvaHehvz809yLgbA&sig2=1z3HnwUkLPzFaHrQEqas0A
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CEgQFjAE&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120318/1332075002&ei=AwdCULqGGsL2mAWe64GgBg&usg=AFQjCNGhKwWxNLuZZSTxggTUOyF4N2xP-A&cad=rja
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCkQFjAB&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/&ei=tEBDUOKuKc32mAXE9YGAAQ&usg=AFQjCNF7OCqzkXGK7X8vh6Y-RjeI_uDApQ&sig2=EwsY0trep1bASWQqHsxhlg
- 1 https://topcoder-g-hatena-ne-jp.jag-icpc.org/diarylist
- 1 http://www.google.co.jp/search?q=srm553&hl=ja&safe=off&rlz=1B3GGLL_jaJP402JP402&prmd=imvns&source=lnt&tbs=lr:lang_1ja&lr=lang_ja&sa=X&ei=0O42UJLFBMiuiQfm5oC4Dg&ved=0CBsQpwUoAQ&biw=1280&bih=902
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CC0QFjAB&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111027/1319732512&ei=Dig3UKPINsWiiAfE24HwAg&usg=AFQjCNEni1jQFLxa-xdo1elZIL8RP3tISQ&sig2=MeDRHkkijpmkblzjwVG__g
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CEUQFjAE&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120823/1345745155&ei=HEU3UJ2CJ-yViQfGwYHYDA&usg=AFQjCNEht9O5AicHC1RvaHehvz809yLgbA&sig2=7wR7adjACxJ8PxJNNq0jyw
- 1 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=11&ved=0CCMQFjAAOAo&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120818/1345309354&ei=86E3UNSyPKGhmQWb1oCgDg&usg=AFQjCNGvmWUAMhsq4G8i000EKsxbI7nRnQ&sig2=dNKN31AGa4jVfZu5AvOT3g
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=RotatingBot&source=web&cd=19&ved=0CJoBEBYwEg&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120815/1345052807&ei=wf83UMyXIc7RmAXdgYGwAw&usg=AFQjCNFctZzHxQt1JXrEIEYAg2D7O7F8ow