题目大意:

国王有一个傻儿子,只会判断在给出的序列S={a1,a2,a3,a4...ai...at}中,ai+a(i+1)+a(i+2)+...+a(i+n)<ki或ai+a(i+1)+a(i+2)+...+a(i+n)>ki,其中测试数据中给出的gt是'>',lt是'<'.有时候这个傻儿子连这也会判断错,当他错了时他不能说自己错(因为是国王的儿子嘛),所以他需要构造一个为序列S1来替代序列S  。问有没有这样一个序列。

此题我是用SPFA实现的。用SPFA实现要注意的问题都是些老问题:

1、图可能不连通,需要提前把所有点加入队列。

2、要判断是否有环(最长路的正环和最短路的负环)。


下面是代码:

#include <stdio.h>
#include <queue>
using namespace std;
#define inf 0x7fffffff
struct node
{int to,w,next;
} edge[1005];
int dis[205],head[205],cnt,c[205],n,m;
bool vis[205];
void init()
{cnt=0;for(int i=0; i<205; i++){head[i]=-1;dis[i]=0;}
}
void add(int u,int v,int w)
{edge[cnt].to = v;edge[cnt].w = w;edge[cnt].next = head[u];head[u] = cnt;cnt++;
}
bool spfa()
{queue <int>q;int i;for(i=0; i<=n; i++){q.push(i);vis[i]=true;c[i]=1;}while(!q.empty()){int p,t=q.front();q.pop();p=head[t];vis[t]=false;while(p!=-1){if(dis[edge[p].to]>dis[t]+edge[p].w){dis[edge[p].to]=dis[t]+edge[p].w;if(!vis[edge[p].to]){vis[edge[p].to]=true;q.push(edge[p].to);c[edge[p].to]++;if(c[edge[p].to] > 24){return false;}}}p=edge[p].next;}}return true;
}
int main()
{while(scanf("%d",&n),n){scanf("%d",&m);init();int i,j,n,a,s,e,w;char c[5];for(i=0; i<m; i++){scanf("%d%d%s%d",&s,&e,c,&w);if(c[0]=='g'){add(s+e,s-1,-w-1);}else{add(s-1,s+e,w-1);}}if(!spfa()){puts("successful conspiracy");}else{puts("lamentable kingdom");}}return 0;
}

POJ 1364 King相关推荐

  1. POJ 1364 King 差分约束系统

    Description Once, in one kingdom, there was a queen and that queen was expecting a baby. The queen p ...

  2. POJ 1364 King (差分约束系统)

    题目描述有点复杂,前面讲了一大堆废话. 题目大意:对一个含n个整数的序列进行一些约束: 1.整数序列中连续的一段的和大于某个整数: 2.整数序列中连续的一段的和小于某个整数. 问满足以上约束的整数序列 ...

  3. [poj 1364]King[差分约束详解(续篇)][超级源点][SPFA][Bellman-Ford]

    题意 有n个数的序列, 下标为[1.. N ], 限制条件为: 下标从 si 到 si+ni 的项求和 < 或 > ki. 一共有m个限制条件. 问是否存在满足条件的序列. 思路 转化为差 ...

  4. 【POJ - 1364】King(差分约束判无解)

    题干: Once, in one kingdom, there was a queen and that queen was expecting a baby. The queen prayed: ` ...

  5. POJ 1364:King(差分约束)

    题目大意:判断是否存在一个长度为n的序列满足给出的不等关系. 分析: 将序列和转化成用两个前缀和之差来表示即可变为差分约束系统. 需要注意的是不能忘记n要加+1,因为还有一个特殊源点,自己因为n:=n ...

  6. 差分约束 1:pku 1201 Intervals 2:pku 1364 King 3:hdu 1534

    一个很好的差分约束总结:http://972169909-qq-com.iteye.com/blog/1185527 第一:  感觉难点在于建图  第二:  ①:对于差分不等式,a - b <= ...

  7. poj 1904 King's Quest

    King's Quest 题意:有N个王子和N个妹子;(1 <= N <= 2000)第i个王子喜欢Ki个妹子:(详见sample)题给一个完美匹配,即每一个王子和喜欢的一个妹子结婚:问每 ...

  8. POJ 1904 King's Quest(强连通分量)

    题目链接 Description Once upon a time there lived a king and he had N sons. And there were N beautiful g ...

  9. poj 1904 King's Quest 强连通分量+匹配

    ========== 题目链接King's Quest ============ 题解:通过原有的完美匹配,反向建边,在同一个强连通分量里面的王子和公主可以匹配,而不影响其他王子的结婚对象. //#i ...

最新文章

  1. ATT与Intel汇编语言的比较
  2. jquery extend函数
  3. Winforn中设置ZedGraoh的GraphPane恢复到初始比例大小
  4. [ROBOT] python library 如何能获取到ROBOT框架里面的全局变量,例如${OUTPUT DIR}等
  5. 【多态】多态的向下转型
  6. java代码创建jar_Java 创建ZIP和JAR文件
  7. html 通用ui css图标,ui-icon.html
  8. weblogic启动后,抛出大量的java.lang.ArrayIndexOutOfBoundsException异常
  9. IDEA整合Spring Boot项目访问jsp文件
  10. 4556: [Tjoi2016Heoi2016]字符串
  11. xposed微信模块源代码
  12. Matlab 实现串口助手
  13. 使用cntv(原cctvbox-中国网络电视台)下载视频
  14. java阳历转阴历_java,阳历转阴历(农历)
  15. EMC共模干扰与差模干扰是什么?怎么解决?
  16. paper:DeepAR: Probabilistic forecasting with autoregressive recurrent networks DeepAR模型
  17. 加速网站访问的一些实践体会
  18. 公司项目中的biz层和manager层是干啥的
  19. web应用 远程调用佳博打印机进行条码打印(详细教程)
  20. 判断用户输入的数字是奇数还是偶数

热门文章

  1. java 全局变量危害
  2. 压缩包文件上传导致覆盖rce
  3. 语言学句法分析树形图怎么画_语言学树形图(1)
  4. 笔记本上的win+v按了没反应
  5. Teigha .dwg文件开发——基础概念
  6. 老外最爱的个性短语集锦
  7. python全栈开发第二天(CSS简介,CSS常用的属性)
  8. Ubuntu下使用HylaFAX+AvantFAX搭建电子传真系统--安装HylaFAX(2/4)
  9. 2023需求最大的8种编程语言排名
  10. EMC设计攻略(2)—接口电路