あなたは、n個の点を点の数の最短長さの各葉、最小スパニングツリー構成を与えます
ここで紹介します:
ツリーへのポイントからの最短距離
#include <cstdioを> する#include <cstdlib> の#include <アルゴリズム> 使用して 名前空間STD; INT N-; のconst int型 N = 33であり、 intは G [N] [N]; // 私はちょうど保存なお、右上 int型のmain() { しばらく(〜のscanf(" %d個"、&n)は&& n)は { 用(int型 i = 1 ; iがN <; I ++の) のための(int型 J = I + 1、J <= N; J ++ ) scanf関数(" %のD "、&G [I] [J])。 INT ANS = G [ 1 ] [ 2 ]。 以下のために(int型 I = 3 ; iが<= N; iは++します) { int型の NW = 1 << 30 。 用(INT J = 1 ; J <I J ++ ) のための(INT K = J + 1 ; <I k個あり、k ++ ) N =分(N、G [K] [I] + G [j] [i]は- G [J] [K])。 ANS + =(NW >> 1 )。 } printf(" %d個の\ n " 、ANS)。 } リターン 0 ; }