- 無矛盾な単位系
- マス目と整数
無矛盾な単位系
概要
- 無向グラフが与えられるので、誤った閉路がないかどうか判定せよ。なお点は文字列として与えられる。
方法
- まだ訪れていない点を調べる。
なお、独立な単位系が複数存在するかもしれない(連結成分が1個ではないかもしれない)ので、グラフが空になるまで取り出し続ける実装にする必要がある。
コード(深さ優先探索と幅優先探索をベンチマークするためにdequeにしていますが、深さ優先探索だけで良いならvectorの方が速いです)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
マス目と整数
- 入力を変更し、連結成分重み判定を加えるだけで、マス目と整数の解答に変更することができる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
あとがき
- Code Festival 予選中、無矛盾な単位系が類似問題として頭に浮かんだのですが、当時書いていたコードが 一行入力するごとにグラフを全走査する くそコードだったため、どうしようもできませんでした。
- 結果的には復習になってよかったです。
- ただ、連結成分重み判定はやはり本番中に思いつかなかったと思います…