poj 1364
http://poj.org/problem?id=1364
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define maxn 51000
using namespace std; const int inf=<<;
struct node
{
int u,v,c;
node(){}
node(int u,int v,int c):u(u),v(v),c(c){}
}p[maxn];
int head[maxn],next[maxn],cnt[maxn];
bool vis[maxn];
int e,n,m,top;
int dis[maxn]; void addnode(int u,int v,int c)
{
p[e]=node(u,v,c);
next[e]=head[u];head[u]=e++;
} bool relax(int u,int v,int c)
{
if(dis[v]>dis[u]+c)
{
dis[v]=dis[u]+c;
return true;
}
return false;
} void inti()
{
memset(head,-,sizeof(head));
memset(next,-,sizeof(next));
e=;
top=-;
for(int i=; i<m; i++)
{
int a,b,c;
char s[];
scanf("%d %d %s %d",&a,&b,s,&c);
if(!strcmp(s,"gt")){
addnode(a+b,a-,(-c-));
}
else if(!strcmp(s,"lt")){
addnode(a-,a+b,c-);
}
}
}
int a[maxn];
bool spfa()
{
int i;
memset(cnt,,sizeof(cnt));
for(i=; i<=n+; i++) {dis[i]=inf;vis[i]=;}
for(i=; i<n; i++)
{
a[++top]=i;
vis[i]=true;
}
dis[]=;
while(top>-)
{
int pre=a[top--];
vis[pre]=false;
for(int i=head[pre]; i!=-; i=next[i])
{
if(relax(pre,p[i].v,p[i].c)&&!vis[p[i].v])
{
if((++cnt[p[i].v])>(n)) return false;
a[++top]=p[i].v;
vis[p[i].v]=true;
}
}
}
return true;
} int main()
{
while(scanf("%d",&n)&&n)
{
scanf("%d",&m);
inti();
if(spfa()) printf("lamentable kingdom\n");
else printf("successful conspiracy\n");
}
return ;
}
poj 1364的更多相关文章
- POJ 1364 / HDU 3666 【差分约束-SPFA】
POJ 1364 题解:最短路式子:d[v]<=d[u]+w 式子1:sum[a+b+1]−sum[a]>c — sum[a]<=sum[a+b+1]−c−1 ...
- poj 1364 King(差分约束)
题目:http://poj.org/problem?id=1364 #include <iostream> #include <cstdio> #include <cst ...
- POJ 1364 King
http://poj.org/problem?id=1364 题意 :给出一个序列a1,a2,a3,a4.....ai,......at ;然后给你一个不等式使得ai+a(i+1)+a(i+2)+.. ...
- POJ 1364 King (UVA 515) 差分约束
http://poj.org/problem?id=1364 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemi ...
- poj 1364 King(差分约束)
题意(真坑):傻国王只会求和,以及比较大小.阴谋家们想推翻他,于是想坑他,上交了一串长度为n的序列a[1],a[2]...a[n],国王作出m条形如(a[si]+a[si+1]+...+a[si+ni ...
- POJ 1364 King --差分约束第一题
题意:求给定的一组不等式是否有解,不等式要么是:SUM(Xi) (a<=i<=b) > k (1) 要么是 SUM(Xi) (a<=i<=b) < k (2) 分析 ...
- poj 1364 差分约束
思路:设dis[i]为从0点到第i点的序列总和.那么对于A B gt k 来讲意思是dis[B+A]-dis[A]>k; 对于A B lt k来讲就是dis[B+A]-dis[A]<k; ...
- [poj 1364]King[差分约束详解(续篇)][超级源点][SPFA][Bellman-Ford]
题意 有n个数的序列, 下标为[1.. N ], 限制条件为: 下标从 si 到 si+ni 的项求和 < 或 > ki. 一共有m个限制条件. 问是否存在满足条件的序列. 思路 转化为差 ...
- poj 1364 King(线性差分约束+超级源点+spfa判负环)
King Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14791 Accepted: 5226 Description ...
随机推荐
- struts2入门程序
struts2入门程序 1.示例 搭建编程环境就先不说了,这里假设已经搭建好了编程环境,并且下好了strut2的jar包,接下来程序. 1.1 新建web项目 点击File->New->D ...
- Web日程管理FullCalendar
fullcalendar是一款jQuery日程管理控件,提供了丰富的属性设置和方法调用,官网下载地址http://fullcalendar.io/download,眼下最新版本号是2.3.2. 仅仅要 ...
- boost库在工作(15)绑定器与函数对象之三
前面已经可以优美地解决两个参数的函数给算法for_each调用了,但是又会遇到这样的一种情况,当需要三个参数或者三个以上的参数给算法for_each调用呢?从STL里的绑定器bind1st,显然是不行 ...
- Gradle Import Wizard--官方文档
Last updated and checked to work with version 3.0.0 of the tools This tutorial will take you through ...
- is not in the sudoers file.This incident will be reported
解决方法如下: 1>.进入超级用户模式.也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式. 2>.添加文件的写权限.也就是输入命令&q ...
- 第四篇:R语言数据可视化之折线图、堆积图、堆积面积图
折线图简介 折线图通常用来对两个连续变量的依存关系进行可视化,其中横轴很多时候是时间轴. 但横轴也不一定是连续型变量,可以是有序的离散型变量. 绘制基本折线图 本例选用如下测试数据集: 绘制方法是首先 ...
- css3之 media query 使用(转)
原文链接:http://www.moke8.com/article-5657-1.html 讲到响应式布局, 相信大家都有一定的了解,响应式布局是今年很流行的一个设计理念,随着移动互联网的盛行,为解决 ...
- 案例:计算1!+2!+3!+......+n!
/* * 1!+2!+3!+......+n! * */ import java.util.Scanner; public class ForTest{ public static void main ...
- 案例:我行我素购物系统 v1.1
系统逻辑结构: import java.util.Scanner; public class ShoppingSystem { public static void main(String[] arg ...
- JSON 遍历转为Model Bean
@RequestMapping(value = "/batchAddPageIndexBrand") @ResponseBody public HashMap<String, ...