【最小生成树】 ZOJ 3204 Connect them
来源:互联网 发布:淘宝网ued官方博客 编辑:程序博客网 时间:2024/05/19 17:57
点击打开链接
按照点最小输出 最小生成树的边
。。。加等号才过是什么鬼
#include <bits/stdc++.h>using namespace std;const int MAXN=111;#define typec intconst typec INF=0x3f3f3f3f;//防止后面溢出,这个不能太大int mp[MAXN][MAXN],dis[MAXN];int flag[MAXN],n,tol;struct node{ int a,b;}pre[MAXN],out[MAXN];int prim(){ int i,min_i,j; int Min; int ans=0; for(i=1 ; i <=n ; i++ ) { dis[i] = mp[i][1]; pre[i].a=1; pre[i].b=i; } memset( flag, 0, sizeof(flag)); flag[1] = 1; for(i=2 ; i <=n ; i++ ) { Min = INF; min_i=i; for( j=2 ; j <=n ; j++ ) { if(flag[j]==0 && dis[j]<=Min)//加等号才过什么鬼 { Min=dis[j]; min_i=j; } } if(Min==INF) break; ans+=Min; out[tol++]=pre[min_i]; flag[min_i] = 1; for( j=2 ; j <=n ; j++ ) { if(mp[min_i][j]==INF) continue; if(flag[j]==0 && dis[j]==mp[min_i][j]) { pre[j].a=min(pre[j].a,min_i); } if(flag[j]==0 && dis[j]>mp[min_i][j]) { dis[j] = mp[j][min_i]; pre[j].a=min_i; } } } if(i==n+1) return ans; else return -1;}bool cmp(node x,node y){ if(x.a==y.a) return x.b<y.b; return x.a<y.a;}int main(){ int t; cin>>t; while(t--) { cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { scanf("%d",&mp[i][j]); if(mp[i][j]==0) mp[i][j]=INF; } } tol=0; if(prim()==-1) { printf("-1\n"); continue; } for(int i=0;i<tol;i++) { if(out[i].a>out[i].b) { int temp=out[i].a; out[i].a=out[i].b; out[i].b=temp; } } sort(out,out+tol,cmp); for(int i=0;i<tol;i++) { if(i) printf(" "); printf("%d %d",out[i].a,out[i].b); } printf("\n"); } return 0;}/*440 3 5 73 0 2 15 2 0 37 1 3 030 2 02 0 00 0 020 22 0*/
0 0
- zoj 3204 Connect them//最小生成树
- Connect them - ZOJ 3204 最小生成树
- 【最小生成树】 ZOJ 3204 Connect them
- ZOJ 3204Connect them(最小生成树)
- ZOJ 3204 Connect them最小生成树
- ZOJ 3204 Connect them 最小生成树+字典序最小
- ZOJ-3204 Connect them(最小生成树)
- ZOJ 3204 Connect them(最小生成树:kruscal算法)
- zoj 3204 Connect them 最小生成树 打印路径
- ZOJ 3204 Connect them(最小生成树之Krusal 输出字典序最小的)
- zoj 3204 2966 Connect them|建设电力系统(最小生成树)
- ZOJ-3204-Connect them【6th浙江省赛】【最小生成树】
- ZOJ 3204 Connect them 【最小生成树+输出选取的边】
- zoj3204 Connect them 最小生成树 MST
- zoj3204 connect them 最小生成树 暴力
- ZOJ - 3204 Connect them
- ZOJ 3204 Connect them
- ZOJ 3204 Connect them
- weblogic启动报<BEA-141281> <unable to get file lock, will retry ...>
- 计算几何 || 圆 二维模板
- Linux内核剖析之回收页框
- 1089-A+B for Input-Output Practice (I)
- git常用命令
- 【最小生成树】 ZOJ 3204 Connect them
- Linux 网络编程——UDP编程
- 第6周项目6-2,3复数模板类
- mapreduce编程自定义排序
- 调整数组顺序使奇数位于偶数前面
- 寻找和为定值的多个数
- 有关可变形部件模型(Deformable Part Model)的一些说明
- android数据库操作SQLiteOpenHelper
- Android开发:性能最佳实践-管理应用内存