Gym 100712F - Travelling Salesman
2015-08-04 11:28
330 查看
思路:
Kruskal
程序: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <cstdlib> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <set> #include <map> using namespace std; #define ll __int64 #define L(u) ((u)<<1) #define R(u) ((u)<<1|1) #define lowbit(x) ((x)&-(x)) #define Cnt1(n) (__builtin_popcount(n)) #define max(x,y) ((x>y)?(x):(y)) #define min(x,y) ((x<y)?(x):(y)) #define PB push_back #define sq(x) ((x)*(x)) #define rep(i,x,y) for(i=x;i<=y;i++) #define rep0(i,x,y) for(i=x;i<y;i++) #define mem(a, num) memset(a, num, sizeof(a)) #define cpy(to, from) memcpy(to, from, sizeof(from)) #define sd(x) scanf("%d",&x) #define sd2(x,y) scanf("%d%d",&x,&y) #define sd3(x,y,z) scanf("%d%d%d",&x,&y,&z) #define slld(x) scanf("%I64d",&x) #define slld2(x,y) scanf("%I64d%I64d",&x,&y) #define slld3(x,y,z) scanf("%I64d%I64d%I64d",&x,&y,&z) #define slf(x) scanf("%lf",&x) #define slf2(x,y) scanf("%lf%lf",&x,&y) #define sc(c) scanf("%c",&c); #define ss(st) scanf("%s",st); #define pd(x) printf("%d\n",x); #define plld(x) printf("%I64d",x); #define pcas() printf("Case %d: ", ++cas) #define pn() putchar(10); #define SA(a,i,n) rep(i,1,n) sd(a[i]) #define SA0(a, i, n) rep0(i,0,n) sd(a[i]) #define PA(a,i,n) rep0(i,1,n) printf("%d ", a[i]); pd(a[(n)]) #define PA0(a, i, n) rep0(i,0,(n)-1) printf("%d ", a[i]); pd(a[(n) - 1]) const int N = 100005; const int inf = 0x3f3f3f3f; const ll llinf = 0x3f3f3f3f3f3f3f3fLL; const double pi = acos(-1.0); struct node { int u, v, l; }a ; int f ; bool cmp(node x, node y) { return x.l<y.l; } int ufs(int x) { return (x == f[x] ? x : f[x] = ufs(f[x])); } int main() { int t; sd(t); while (t--) { int n, m; sd2(n, m); int i; rep(i, 1, n) f[i] = i; rep(i, 1, m) sd3(a[i].u, a[i].v, a[i].l); sort(a + 1, a + 1 + m, cmp); int cnt = n; rep(i, 1, m) { int x = ufs(a[i].u), y = ufs(a[i].v); if (x != y) { f[x] = y; cnt--; } if (cnt == 1) break; } printf("%d\n", a[i].l); } return 0; }
相关文章推荐
- Cocos2d-x利用jni调用java层代码
- java classpath里带星号*和不带星号的区别
- Qt版IP地址控件
- js 循环
- checkbox和后面文字无法居中对齐的解决方案
- 第17章 文本和字体_17.5 设置段落格式
- Java File类学习笔记4:自定义一个类,过滤指定扩展名的文件
- android code bbs for developer
- jQuery 选择器
- post&get请求编码问题
- 通过 Linux文件描述符/Windows句柄 来看 C语言里的"FILE"
- 使用浏览器缓存
- Oracle 创建索引的基本规则总结
- iOS行货自动打包
- WSGI学习系列WebOb
- setTimeout方法
- 使用浏览器缓存
- C语言中对const的理解
- CANVAS ERASER
- C++实现简单的图书管理系统