UVa1599 - Ideal Path
来源:互联网 发布:淘宝怎样推广店铺爆款 编辑:程序博客网 时间:2024/04/30 17:36
#include<cstdio>#include<cstring>#include<vector>#include<queue>using namespace std;const int maxn=100010;const int inf=1<<30;int n,vis[maxn],d[maxn];vector<int> g[maxn],ans;struct way{ int u,v,c; way(int u=0,int v=0,int c=0):u(u),v(v),c(c){}};vector<way> ways;void build(int u,int v,int c){ ways.push_back(way(u,v,c)); int i=(int)ways.size()-1; g[u].push_back(i);}void rev_bfs(){ memset(vis,0,sizeof(vis)); d[n-1]=0; vis[n-1]=true; queue<int>q; q.push(n-1); while(!q.empty()){ int v=q.front(); q.pop(); for(int i=0;i<g[v].size();i++) { int e=g[v][i]; int u=ways[e].v; if(!vis[u]){ vis[u]=true; d[u]=d[v]+1; q.push(u); } } }}void bfs(){ memset(vis,0,sizeof(vis)); ans.clear(); vis[0]=true; vector<int>next; next.push_back(0); for(int i=0;i<d[0];i++){ int min_color=inf; for(int j=0;j<next.size();++j){ int u=next[j]; for(int k=0;k<g[u].size();++k) { int e=g[u][k]; int v=ways[e].v; if(d[u]==d[v]+1) min_color=min(min_color,ways[e].c); } } ans.push_back(min_color); vector<int> next2; for(int j=0;j<next.size();j++){ int u=next[j]; for(int k=0;k<g[u].size();k++){ int e=g[u][k]; int v=ways[e].v; if(d[u]==d[v]+1&&!vis[v]&&ways[e].c==min_color){ vis[v]=true; next2.push_back(v); } } } next=next2; } printf("%d\n",(int)ans.size()); for(int i=0;i<ans.size();i++){ if(i) printf(" "); printf("%d", ans[i]); } printf("\n");}int main(){ int u,v,c,m; while(~scanf("%d%d",&n,&m)){ ways.size(); for(int i=0;i<n;i++) g[i].clear(); while(m--){ scanf("%d%d%d",&u,&v,&c); build(u-1,v-1,c); build(v-1,u-1,c); } rev_bfs(); bfs(); } return 0;}
0 0
- UVa1599 - Ideal Path
- UVA1599 Ideal Path
- UVa1599/poj 3967 Ideal Path
- 例题6-20 UVa1599 Ideal Path(两次BFS)
- Ideal Path,uva1599/hdu 3760(最短路中字典序最小的路径)
- 例题6-20 理想路径(Ideal Path, NEERC 2010, UVa1599)
- 例题6-20 uva1599 Ideal Path (双向bfs+字典序)
- HDOJ 3760: Ideal Path
- 1599 - Ideal Path
- uva 1599 - Ideal Path
- 1599 - Ideal Path
- UVa 1599 Ideal Path
- Uva - 1599 - Ideal Path
- 1599 - Ideal Path
- UVa 1599 Ideal Path
- UVa 1599 Ideal Path
- HDU 3760 Ideal Path
- UVA 1599 Ideal Path
- 生成PDF文件
- IOS8开启GPS
- MediaPlayer的状态机
- 《高效能人士的七个习惯》:有图有真相
- 圆盘抽奖的界面简单实现
- UVa1599 - Ideal Path
- 一般的英语作用
- 【每日一题】字符串是否包含问题
- 微信扫码支付asp.net(C#)实现步骤
- 《从0到1》读书笔记第一章"未来的挑战"第1记:把握潮流风向
- printf格式化函数的使用
- 延迟加载图片插件LazyLoad.js的使用方法
- 位域
- 谪粘合亢制渤显估状瘴