poj 2485 Highways
来源:互联网 发布:linux ansi 编辑:程序博客网 时间:2024/06/18 00:18
用kruskal()算法处理》》。
1 #include<stdio.h> 2 #include<stdlib.h> 3 #define MAXN 300000 4 5 int T, n, h, u[MAXN], v[MAXN], w[MAXN], p[510], r[MAXN]; 6 7 int cmp(const void *_p, const void *_q) 8 { 9 int *p = (int *)_p;10 int *q = (int *)_q;11 return w[*p] - w[*q];12 }13 14 int find(int x){return p[x] == x ? x : p[x] = find(p[x]);}15 16 void kruskal()17 {18 int ans = 0;19 for(int i = 0; i < n; i ++) p[i] = i;20 for(int i = 0; i < h; i ++) r[i] = i;21 qsort(r,h,sizeof(r[0]),cmp);22 for(int i = 0; i < h; i ++)23 {24 int e = r[i], x = find(u[e]), y = find(v[e]);25 if(x != y){ans = w[e]; p[x] = y;}26 }27 printf("%d\n",ans);28 }29 30 int main()31 {32 while(~scanf("%d",&T))33 {34 while(T--)35 {36 scanf("%d",&n);37 h = 0;38 for(int i = 0; i < n; i ++)39 {40 for(int j = 0; j < n; j ++)41 {42 int a;43 scanf("%d",&a);44 if(i == j) continue;45 u[h] = i, v[h] = j, w[h++] = a;46 }47 }48 kruskal();49 }50 } 51 }
0 0
- poj poj 2485 Highways
- POJ 2485 Highways
- poj 2485 Highways
- POJ-2485 highways
- POJ 2485 Highways Kruskal
- poj 2485 Highways
- Poj 2485 Highways
- POJ 2485 Highways
- poj 2485 Highways
- poj 2485 Highways
- POJ 2485 Highways
- POJ 2485 Highways
- POJ 2485 Highways
- POJ 2485 Highways
- Poj 2485 Highways
- poj 2485 Highways
- poj 2485 highways
- POJ 2485 Highways
- poj 1062昂贵的聘礼
- poj 2253 Frogger
- poj 1125 Stockbroker Grapevine
- poj 2240 Arbitrage
- poj 1789 Truck History
- poj 2485 Highways
- 数据库 事务 ACID
- C++ -- 如何取得一个给定的地址所存放的值
- poj 1258 Agri-Net
- poj 1236 Network of Schools
- g729源码分析-2-共振锋感知加权
- poj 1274 The Perfect Stall
- poj 2239 Selecting Courses
- 蓝桥杯 兰顿蚂蚁(模拟)