UVA 1599(p173)----Ideal Path
来源:互联网 发布:淘宝购物技巧大全 编辑:程序博客网 时间:2024/03/29 00:48
#include<iostream>#include<cstdio>#include<queue>#include<cstring>#include<algorithm>using namespace std;const int maxn=100000+50;vector<int> g[maxn],cl[maxn];int dist[maxn],v[maxn],n,m,ans[maxn];void prepare(){ queue<int> q; memset(dist,0x7f,sizeof(dist)); memset(v,0,sizeof(v)); v[n]=true;q.push(n);dist[n]=0; while(!q.empty()) { int now=q.front(); q.pop(); for(int i=0;i<g[now].size();i++) { int j=g[now][i]; if(dist[j]>dist[now]+1) { dist[j]=dist[now]+1; if(!v[j]) { q.push(j); v[j]=true; } } } v[now]=false; }}void solve(){ queue<int> q; memset(v,0,sizeof(v)); v[1]=true;q.push(1); while(!q.empty()) { int now=q.front(); q.pop(); int flag=0; for(int i=0;i<g[now].size();i++) { int j=g[now][i]; if(dist[j]+1==dist[now]) { if(!flag) flag=cl[now][i]; else flag=min(flag,cl[now][i]); } } int num=dist[1]-dist[now]; if(!ans[num]) ans[num]=flag; else ans[num]=min(ans[num],flag); for(int i=0;i<g[now].size();i++) { int j=g[now][i]; if(!v[j]&&dist[j]+1==dist[now]&&cl[now][i]==flag) { q.push(j); v[j]=true; } } }}void init(int n){ for(int i=0;i<=n;i++) { g[i].clear(); cl[i].clear(); } memset(ans,0,sizeof(ans));}int main(){ // freopen("in.in","r",stdin); int x,y,c; while(scanf("%d%d",&n,&m)==2&&n) { init(n); for(int i=0;i<m;i++) { scanf("%d%d%d",&x,&y,&c); if(x==y) continue; g[x].push_back(y); g[y].push_back(x); cl[x].push_back(c); cl[y].push_back(c); } prepare(); printf("%d\n",dist[1]); solve(); for(int i=0;i<=dist[1]-2;i++) printf("%d ",ans[i]); printf("%d\n",ans[dist[1]-1]); } return 0;}
0 0
- UVA 1599(p173)----Ideal Path
- uva 1599 - Ideal Path
- UVa 1599 Ideal Path
- Uva - 1599 - Ideal Path
- UVa 1599 Ideal Path
- UVa 1599 Ideal Path
- UVA 1599 Ideal Path
- uva UVA - 1599 Ideal Path
- UVa 1599 - Ideal Path <两次BFS>
- UVa 1599 - Ideal Path(BFS)
- 理想路径(Ideal Path,UVa 1599)
- UVa 1599 Ideal Path[待AC]
- UVA 1599 Ideal Path (理想路径)
- ACM篇:UVa 1599 -- Ideal Path
- uva 1599 Ideal Path (两次bfs)
- Ideal Path UVA
- Ideal Path UVA
- Ideal Path UVA
- iOS 宏(define)与常量(const)的正确使用
- UVA 1594(p135)----Ducci Sequence
- .net笔试题
- 微信企业号开发之图灵机器人接入(4)
- Android 文件导入导出命令
- UVA 1599(p173)----Ideal Path
- <转>Android 文件夹访问路径~
- iOS推送之本地推送
- mysql-mariadb启动报错恢复数据([ERROR] mysqld got signal 6)
- Linux出现Read-only file system错误的解决方法
- 安装react-native遇到的问题
- Altium designer 从原理图更新至PCB时出现提示:failed to match * of * components using unique identifiers
- linux设备驱动归纳总结(七):1.时间管理与内核延时
- 动画一