/*
這些個題目都是如出一轍的,hdu 1863 hdu1233 hdu 1102
會寫這個prim函式,基本沒問題啦! */
貼**:
#include #include #define inf 999999999
using namespace std;
int map[105][105],visit[105],dis[105],m;
int prim()
dis[1] = 0;
visit[1] = 1;
int sum = 0;
for(int i = 1; i <= m-1; i++)
}if(temp == inf)return 0;
visit[pos] = 1;
sum += dis[pos];
for(int j = 1; j <= m; j++)
}} return sum;
}int main()
int ans = prim();
if(ans)
printf("%d\n",ans);
else
printf("?\n");
}}
hdu 1863 最小生成樹
使用並查集,陣列不要太小 include stdio.h int set 200 int n,m typedef struct nodenode,pnode node road 200 void init int find int u return set u int join int u,int ...
hdu 1863(最小生成樹)
基礎的最小生成樹問題,不過 要特判條件不足的情況 include include define inf 1 30 int n,m,vis 110 low 110 int map 110 110 int init int prim if pos 1 return 1 代表這當前步驟缺少條件 int k...
HDU 1863 最小生成樹
這還是最小生成樹的模版題,以前都是用的kruskal做的,這次用prime做的,寫篇部落格記錄下。prime的複雜度為n 2 n為點的個數 與邊的個數無關,用於稠密圖,而kruskal的複雜度為mlgm m為邊的個數 與點的個數無關,主要用於稀疏圖。include include includeus...