タイトル説明
今、単純な重み付き無向図を示します。あなたはこの数字計算された最小スパニングツリーに満足していないが、どのように多くの異なる最小スパニングツリーこの数字が知りたいのです。(最小スパニングツリーの少なくとも2つの異なる側面が存在する場合、最小スパニングツリーが異なっているの両方)。異なる最小スパニングツリーはたくさんすることができ、あなたはそれだけでアナログ出力31011の数をプログラムする必要がありますので。
入力形式
最初の行は、2つの数値を含み、nおよびmは、1 <= N <= 100; 1 <= M <= 1000;無向グラフのノードとエッジの数を表します。1〜nの整数で各ノード。
次のm行、二つの整数を含む各列:A、B、Cを、1 <= C <=10億ノードa、b値cと右側を表します。
データは自信裏側と重い側には表示されません。注:同じエッジ重み値が10以下です。
出力フォーマット
どのように多くのスパニングツリーを異なる出力最小。あなただけ出力することで、金型31011の番号が必要です。
サンプル入力と出力
4 6 1 2 1 1 3 1 1 4 1 2 3 2 2 4 1 3 4 1
8
説明/ヒント
説明1 <= N - <= 100 ;. 1 <= M <= 1000; 1。≤ C I ≤ 1。0 9。
分析
それは素敵な嵐の検索だ(?)タイトル
はい、暴力的な検索は、それが本当に良いアルゴリズムです
何行列ツリー正ソリューション、ガウス消去ハン
私は、ジャンル暴力が虐待されました
まず、いくつかのよく書かれた説明を置きます:
どのように、最初に結論を検索するには:
ツリー代替側面を最小全域ため、最小スパニングツリー代替縁側に等しく存在する必要があり、この側面は、二つのブロックとの通信が接続されています
したがって、最小スパニングツリーのための様々なスキームは、同じ長さの辺の数が同じです
我々 'は、同じ長さの辺に(選択/選択されていない)嵐を検索し、最後に最小スパニングツリーの同じ数が合法性を決定するか否かを判断することができます
乗算原理、最終的にプログラムの数を乗算した各種プログラムのエッジ長
あなたのために、無敵!