首先吐槽一下这个题目的题意描述,我看了半天才明白。 下标全部都是乱标的!!!!出题者能不能规范一点下标的写法!!!!

差分约束系统

#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std; int n,m,tyu;
const int maxn=;
const int INF=0x7FFFFFFF;
struct abc
{
int startt;
int endd;
int costt;
} node[maxn];
vector<abc>ljb[maxn];
int ff[maxn],summ[maxn],dist[maxn]; void spfa()
{
queue<int>Q;
while(!Q.empty()) Q.pop();
int i;
for(i=; i<=n+; i++) dist[i]=INF;
memset(ff,,sizeof(ff));
memset(summ,,sizeof(summ));
dist[]=;
ff[]=;
Q.push();
while(!Q.empty())
{
int hh=Q.front();
Q.pop();
summ[hh]++;
if(summ[hh]>n+)
{
tyu=;
break;
}
ff[hh]=;
for(i=; i<ljb[hh].size(); i++)
{
abc noww;
noww=ljb[hh][i];
if(dist[hh]+noww.costt<dist[noww.endd])
{
dist[noww.endd]=dist[hh]+noww.costt;
if(ff[noww.endd]==)
{
ff[noww.endd]=;
Q.push(noww.endd);
}
}
}
}
}
int main()
{
int i,si,ni,ki,tott;
char oi[];
while(~scanf("%d",&n))
{
if(n==) break;
scanf("%d",&m);
tott=;
for(i=; i<=n+; i++) ljb[i].clear();
for(i=; i<m; i++)
{
scanf("%d%d%s%d",&si,&ni,oi,&ki);
if(strcmp("lt",oi)==)
{
node[tott].startt=si;
node[tott].endd=si+ni+;
node[tott].costt=ki-;
ljb[si].push_back(node[tott]);
tott++;
}
else if(strcmp("gt",oi)==)
{
node[tott].startt=si+ni+;
node[tott].endd=si;
node[tott].costt=-(ki+);
ljb[si+ni+].push_back(node[tott]);
tott++;
}
}
for(i=; i<=n+; i++)
{
node[tott].startt=;
node[tott].endd=i;
node[tott].costt=;
ljb[].push_back(node[tott]);
tott++;
}
tyu=;
spfa();
if(tyu==) printf("successful conspiracy\n");
else printf("lamentable kingdom\n");
}
return ;
}

最新文章

  1. 域普通用户执行金蝶K/3权限不够解决方法
  2. sql server 日期
  3. 界面显示两个ListView
  4. python打印进度条
  5. 「拉勾网」薪资调查的小爬虫,并将抓取结果保存到excel中
  6. mysql的数据导入导出
  7. 快速搭建Web服务器软件PHP+Apache+MySQL
  8. C# 文件夹操作
  9. vue1.0学习总结
  10. storm定时任务【tick】
  11. iptables 学习
  12. Linux(Redhat)安装Redis
  13. 手写实现简单版IOC
  14. 机器学习入门之使用numpy和matplotlib绘制图形
  15. gitlab数据迁移至其他gitlb服务器上
  16. 不同CSS技术及其CSS性能
  17. code vs 1094 FBI树 2004年NOIP全国联赛普及组
  18. 使用CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 证书和秘钥文件
  19. vue 缓存的keepalive页面刷新数据
  20. 给mysql数据添加一个只拥有一张表的权限

热门文章

  1. Css3新特性应用之过渡与动画
  2. POJ3177 Redundant Paths 双连通分量
  3. saltstack布署实践 【配置文件管理-state模块】
  4. 【CentOS如何最小化安装】
  5. 想要见识外太空?一款VR头显就能帮你实现梦想
  6. 导入excel成一个list集合不支持大文件倒入(优化点在于分批分线程导入)
  7. 网页数据抓取(B/S)
  8. 49、word2vec - tensorflow
  9. win7安装iis及web配置教程
  10. Python学习笔记——基础篇【第六周】——Subprocess模块