题目:http://poj.org/problem?id=3259

题意:一个famer有一些农场,这些农场里面有一些田地,田地里面有一些虫洞,田地和田地之间有路,虫洞有这样的性质: 时间倒流。问你这个农民能不能看到他自己,也就是说,有没有这样一条路径,能利用虫洞的时间倒流的性质,让这个人能在这个点出发前回去,这样他就是能看到他自己

典型的Bellman_ford 检查有没有形成负环。

套的模板

 #include <stdio.h>
#include <string.h> const int maxn = ;
const int maxm = ;
const int oo = <<;
struct node{
int u;
int v;
int w;
int next;
}edge[maxm];
int dis[maxn];
int cnt;
int n, m; void add(int u, int v, int w){
edge[cnt].u = u;
edge[cnt].v = v;
edge[cnt++].w = w;
} bool bellman_ford(int s){
for(int i = ; i < n; i++){
dis[i] = oo;
}
dis[s] = ;
for(int i = ; i < n-; i++){
for(int j = ; j < cnt; j++){
int u = edge[j].u;
int v = edge[j].v;
int w = edge[j].w;
if(dis[v] > dis[u] + w){
dis[v] = dis[u] + w;
}
}
}
for(int j = ; j < cnt; j++){
int u = edge[j].u;
int v = edge[j].v;
int w = edge[j].w;
if(dis[v] > dis[u] + w){
return false;
}
}
return true;
} void init(){
cnt = ;
} int main()
{
int t,x;
scanf("%d",&t);
while(t--)
{
scanf("%d %d %d", &n, &m, &x);
int u, v, w;
init();
for(int i = ; i < m; i++){
scanf("%d %d %d", &u, &v, &w);
add(u, v, w);
add(v, u, w);
}
while(x--)
{
scanf("%d %d %d", &u, &v, &w);
add(u, v, -w);
}
if(bellman_ford()) printf("NO\n");
else printf("YES\n");
}
return ;
}

discuss里面还有spfa 的代码:http://poj.org/showmessage?message_id=162146

就是 又设了一个cnt数组来记录各个点用过的 次数,如果次数大于等于n说明有负环

最新文章

  1. C#学习笔记-KeyDown、KeyPress、KeyUp事件以及KeyCode、KeyData、KeyValue、KeyChar属性
  2. FCC上的初级算法题
  3. 集合使用copy与mutableCopy的区别
  4. jvm笔记
  5. Chapter6:函数
  6. Binary Numbers(HDU1390)
  7. 【机器学习】反向传播算法 BP
  8. ubuntu安装qq
  9. JavaScript Array+String对象的常用方法
  10. Difference Between Git and SVN
  11. JVM安全点操作与测试小记
  12. C# http请求带请求头部分
  13. 10款基于jquery的web前端动画特效
  14. 第15月第29天 ffmpeg AVERROR_EOF
  15. oracle_使用子查询创建表
  16. git创建版本库 小白操作 (看图)
  17. delphi 关于 &quot;高位&quot; 与 &quot;低位&quot;
  18. Qt::QWindow多窗口争抢置顶状态解决方案
  19. php 取数组最后一个元素
  20. aspnetcore 认证相关类简要说明一

热门文章

  1. BroadcastReceiver
  2. MYSQL数据库主主同步实战
  3. javassist动态修改class
  4. phpcms v9 自定义分页 带下拉跳转
  5. 利用rlwrap配置linux下oracle sqlplus 历史记录回调
  6. 爬虫学习之基于Scrapy的网络爬虫
  7. Objective-C程序结构及语法特点
  8. Android中Linux suspend/resume流程
  9. ServiceStack.Redis
  10. 1064: [Noi2008]假面舞会 - BZOJ