
最小生成树
vsooda
这个作者很懒,什么都没留下…
展开
-
HDU 1102
#include#include#includeconst int max=0x7ffffff;int map[101][101],min,v[101],n,x,y,sum,flag;void Reset(int n){ int i,j,m; memset(map,0,sizeof(map)); for(i=0;i<n;i++) { for(j=0;j<n;j++)原创 2012-02-26 20:16:09 · 658 阅读 · 0 评论 -
HDU 1301 %*C显示威力
最小生成树#include#include#includeconst int max=0x7ffffff;int map[27][27],min,v[27],n,dis,m,sum,flag;char cx,cy;void Reset(int n){ int i,j; map[n][n]; memset(map,0,sizeof(map)); for(i=0;i<n-原创 2012-02-26 19:55:24 · 635 阅读 · 0 评论 -
HDU 1233 还是畅通工程
#include#include#includeconst int MAX=100000000;int map[101][101],min,sum;int main(){ int i,j,n,x,y,m,v[101],flag,dis; while(scanf("%d",&n),n) { map[n][n]; memset(map,0,sizeof(map)); m原创 2012-02-26 18:24:38 · 582 阅读 · 0 评论 -
prim最小生成树模板
int minTree(int n){ int i,j; memset(v,0,sizeof(v)); v[0]=1; sum=0; for(i=1;i<n;i++) { min=max; for(j=0;j<n;j++) { if(!v[j]&&map[0][j]<min) { min=map[0][j]; flag=j; } }原创 2012-02-26 20:17:00 · 1794 阅读 · 1 评论 -
HDU 1875
最小生成树的一种求法,关键还是判断两个点是否在一个回路上即并查集的运用#include #include#include#includeusing namespace std;int num[210];int pre[210];double length;struct edge{ int x, y; double w;}e[9999];void makeS原创 2012-02-26 22:04:00 · 1065 阅读 · 2 评论 -
HDU 1879
#include #include #include #include using namespace std ; #define MEM(a, v) memset (a, v, sizeof (a)) // a for address, v for value #define max(x, y) ((x) > (y) ? (原创 2012-02-28 11:01:20 · 859 阅读 · 0 评论 -
HDU 1863
#includeusing namespace std;#define N 9999999int map[101][101];int mark[101];bool visited[101];int n,m;void prim(){ int i,j,k,sum=0,min; int flag=1; memset(mark,0,sizeof(mark)); memset(vis原创 2012-02-28 12:38:42 · 517 阅读 · 0 评论