poj-1125-Stockbroker Grapevine spfa模板
来源:互联网 发布:python 提取文件名 编辑:程序博客网 时间:2024/06/07 21:48
本模板无判断负环部分,
判断负环方法记录每个点压队列次数 若有一大于V则存在负环
#include<cstdio>#include<queue>#include<algorithm>#include<iostream>#include<cstring>#define maxx 999999999using namespace std;struct edge{ int x,y,dis,next;}e[11000];int head[11000],n,m,l1,dequeue[1000],v[1000];void init(){ for(int i=1;i<=n;i++) head[i] = -1;}void add(int pre,int to,int dis){ e[l1].x = pre; e[l1].y = to; e[l1].dis= dis; e[l1].next = head[pre]; head[pre] = l1; l1++;}int spfa(int star){ memset(dequeue,0,sizeof(dequeue)); for(int i=1;i<=n;i++) v[i] = maxx; v[star] =0; queue<int>qu; qu.push(star); dequeue[star] = 1; while(!qu.empty()) { int qu1 = qu.front(); qu.pop(); for(int i = head[qu1];i!=-1;i = e[i].next){ if(v[e[i].y]>v[e[i].x]+e[i].dis){ v[e[i].y] = v[e[i].x]+e[i].dis; if(!dequeue[e[i].y]){ qu.push(e[i].y); dequeue[e[i].y] = 1; } } } dequeue[qu1] = 0; } int ss =-1; for(int i=1;i<=n;i++) if(v[i]>ss)ss = v[i]; return ss;}int main(){ while(scanf("%d",&n)&&n) { init(); l1 = 0; for(int i=1;i<=n;i++) { int m; scanf("%d",&m); while(m--){ int a,b; scanf("%d%d",&a,&b); add(i,a,b); } } int minn = maxx,minnx; for(int i=1;i<=n;i++) { int s = spfa(i); if(s<minn){minn = s;minnx = i;} } if(minn == maxx)printf("disjoint\n"); else printf("%d %d\n",minnx,minn); } return 0;}
0 0
- poj-1125-Stockbroker Grapevine spfa模板
- POJ 1125 Stockbroker Grapevine(spfa)
- poj 1125 Stockbroker Grapevine(Floyd模板题)
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- Poj 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125-Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- POJ 1125 Stockbroker Grapevine
- poj 1125 Stockbroker Grapevine
- Android软键盘打开、切换、关闭
- rtmp发送H264及aac的音视频
- 使用adapter的notifyDataSetChanged时列表数据没有刷新
- javascript的特点
- 浅析多线程
- poj-1125-Stockbroker Grapevine spfa模板
- 【架构设计】-MVC宏观总结
- 面试经历---广州金砖信息技术有限公司(2015年11月25日上午面试)
- Java多线程学习(吐血超详细总结)
- 《MVC +EasyUI 》——表单的提交
- Python爬虫介绍
- ng-class、ng-style、ng-href、ng-attr-title
- Java 7 可运行的 Nashorn,代替 Rhino
- java集合框架总结