hdu 1879 继续畅通工程
2015-08-26 01:40
288 查看
如果已经建好,那就把vaule的值标记为0,然后模板走起,然后就没有然后了
数据量有点大,没关闭缓冲区TLE
数据量有点大,没关闭缓冲区TLE
#include<iostream> #include<vector> #define maxn 105 using namespace std; int n; const int inf=1<<31-1; vector<int>mapp[maxn]; int vaule[maxn][maxn]; int visit[maxn]; void prim()//prim算法 { int re=0; int d[maxn]; fill(d,d+n+1,inf); fill(visit,visit+1+n,0); d[1]=0; while(1) { int v=-1; for(int i=1;i<=n;i++) { if(!visit[i]&&(v==-1||d[i]<d[v])) v=i; } if(v==-1||d[v]==inf) break; re+=d[v]; visit[v]=1; for(int i=0;i<mapp[v].size();i++) { int x=mapp[v][i]; if(!visit[x]&&vaule[v][x]<d[x]) d[x]=vaule[v][x]; } } cout<<re<<endl; } int main() { cin.sync_with_stdio(false); while(cin>>n&&n) { for(int i=1;i<=n;i++) mapp[i].clear(); for(int i=0;i<n*(n-1)/2;i++) { int x,y,z,p; cin>>x>>y>>z>>p; if(x!=y) { mapp[x].push_back(y); mapp[y].push_back(x); if(p==1) { vaule[x][y]=0; vaule[y][x]=0; } else { vaule[x][y]=z; vaule[y][x]=z; } } } prim(); } return 0; }
相关文章推荐
- 总结2
- spring mvc第一个helloword
- 表白专用 !!!
- 关于我的学习笔记
- Unity3D圣典学习【2】之CharacterController
- 6个让您获得更佳的移动分析体验的提示
- hdu 1875 畅通工程再续
- HDU 2819 — Swap 二分匹配
- DELL 服务器 装系统前初始化(恢复出厂、超线程、虚拟化、iDRAC设置)
- php大力力 [018节]如何联系大力力
- hdu 1598 find the most comfortable road
- 将h.264视频流封装成flv格式文件
- 一个IP绑定多个域名的实现方法
- 我个沙茶,居然不会写基数排序
- java
- 正则表达式
- *Remove Duplicates from Sorted List
- 后缀数组(一)
- 构建工具Ant(二)—实践
- PAT-A 1064. Complete Binary Search Tree (30)