truck driver(改)

2 secs 1024 MB
fact493's icon fact493

この問題は、NN頂点MM辺のグラフとして考えると、

運べない可能性があるのは閉路の中で無限ループするときか、連結していないときが考えられます。

よって、無限ループしないためには閉路の橋を一つずつ壊すことにより実現できます。

ただし、1N1~Nまですべての頂点がつながれている閉路、いわゆるハミルトン閉路がある際は、壊すべき道は一つ減ります。 (ハミルトン閉路がある際はその部分だけ残して残りを壊せばよいため)

これは、bitDFSで高速化することによりO(2NN)O(2^NN)で求めることができます。