博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1364 King(差分约束)
阅读量:5059 次
发布时间:2019-06-12

本文共 1129 字,大约阅读时间需要 3 分钟。

根据连续的和建图,然后判断是否有负环。注意细节,加上超级源点后,有n+1个点。忘了初始化了,让我WA了N次啊。

#include 
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define N 1001struct node{ int u,v,w,next;}edge[N];int first[N],d[N];int t;void add(int u,int v,int w){ edge[t].u = u; edge[t].v = v; edge[t].w = w; edge[t].next = first[u]; first[u] = t; t ++;}void CL(){ t = 1; memset(first,-1,sizeof(first));}int main(){ int n,m,x,y,w,i,flag,j; int u,v; char ch[10]; while(scanf("%d",&n)!=EOF) { if(n == 0) break; scanf("%d",&m); CL(); for(i = 1;i <= m;i ++) { scanf("%d%d%s%d",&x,&y,ch,&w); if(ch[0] == 'g') { add(x-1,x+y,w+1); } else { add(x+y,x-1,1-w); } } memset(d,0,sizeof(d)); for(i = 1;i <= n+1;i ++) { flag = 1; for(j = 1;j < t;j ++) { u = edge[j].u; v = edge[j].v; if(d[v] < d[u] + edge[j].w) { d[v] = d[u] + edge[j].w; flag = 0; } } if(flag) break; } if(flag == 0) printf("successful conspiracy\n"); else printf("lamentable kingdom\n"); } return 0;}

 

转载于:https://www.cnblogs.com/naix-x/archive/2013/02/22/2922212.html

你可能感兴趣的文章
Python学习之路-Day1-Python基础
查看>>
jenkins
查看>>
js数组操作大全
查看>>
嵌入在html页面中图像格式的区别与选用
查看>>
nginx+php在调试过程中临时关闭缓存
查看>>
2017.11.2总结,回顾及成果
查看>>
DDD:聚合根的批量删除是不是可以批量发送请求
查看>>
springmvc 文件上传
查看>>
centos7+tomcat部署JavaWeb项目超详细步骤
查看>>
JAVA基础-网络编程
查看>>
MAC上postman离线安装时提示加载扩展程序出错怎么办?
查看>>
Problem A: 零起点学算法80——逆序输出(数组练习)
查看>>
C++程序设计原理与实践 第二十章部分答案
查看>>
执行PHP -m报错Xdebug MUST be loaded as a Zend extension
查看>>
java学习之旅(一):BOS项目使用的技术以及开发环境
查看>>
有关锚点[转载]
查看>>
剑指offer——二进制中1的个数
查看>>
spring boot 使用redis 报错
查看>>
管窥HTML5
查看>>
php-ip
查看>>