POJ 1258
来源:互联网 发布:淘宝刷店铺流量 编辑:程序博客网 时间:2024/06/05 07:58
【题目分析】
最小生成树。
【代码】
#include <cstdio>#include <cmath>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int q,n,x,ans=0;int fr[10001],en=1,to[10001],w[10001];int rank[10001],f[10001];inline int gf(int k){ if (f[k]==k) return k; else return f[k]=gf(f[k]);}inline bool cmp(int a,int b){return w[a]<w[b];}int main(){ while (scanf("%d",&n)!=EOF) { en=1;ans=0; for (int i=1;i<=n;++i) for (int j=1;j<=n;++j) { scanf("%d",&x); if (i!=j) {fr[en]=i;to[en]=j;w[en]=x;en++;} } for (int i=1;i<en;++i) rank[i]=i; for (int i=1;i<=n;++i) f[i]=i; sort(rank+1,rank+en,cmp); for (int i=1;i<en;++i) { int l=fr[rank[i]],r=to[rank[i]]; int fl=gf(l),fr=gf(r); if (fl!=fr) f[fl]=fr,ans+=w[rank[i]]; } printf("%d\n",ans); }}
0 0
- Poj 1258
- poj 1258
- POJ 1258
- poj 1258
- POJ 1258
- POJ 1258
- poj 1258
- poj 1258
- poj 1258
- POJ 1258
- poj 1258
- poj 1258
- poj 1258
- POJ 1258
- POJ 1258
- POJ 1258
- POJ 1258
- POJ - 1258
- gdb调试出现<optimized out>解决方法
- 【NOIP2012模拟10.20】友好数对
- Linux是什么
- MyEclipse10 JNDI的使用及配置
- 受欢迎的5个ORM
- POJ 1258
- 【43.49】【LA 3026】Period
- [LeetCode]242.Valid Anagram&383. Ransom Note&389. Find the Difference
- 开发艺术探索——生命周期和启动模式
- Java学习笔记之Swing(一)
- Codeforces #334 (div2)D (循环节,快速幂)
- POJ-1979(搜索水题)
- SQL总结之常用DDL(MSSQL)
- 怎么样去学习平面设计,学ps就是平面设计了吗?