题意大坑,建议先看Discuss……
否则代码写得就像以下的一团糟。。。。

其实并不难,拓扑排序+乱搞就可以AC。

// by SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char jy[4],vis[26],in[26],temp[26],flag,VIS[26],F,rec,G;
int first[30],next[999],v[999],tot,n,m,s[999];
void add(int x,int y){v[tot]=y,next[tot]=first[x],first[x]=tot++;}
int main(){while(scanf("%d%d",&n,&m)&&(n||m)){memset(VIS,0,sizeof(VIS));memset(in,0,sizeof(in));memset(first,-1,sizeof(first)),tot=F=0;for(int ii=1;ii<=m;ii++){rec=G=0,memset(vis,0,sizeof(vis));scanf("%s",jy);jy[0]-='A',jy[2]-='A';if(F)continue;add(jy[0],jy[2]),in[jy[2]]++;VIS[jy[0]]=VIS[jy[2]]=1;for(int i=0;i<n;i++)temp[i]=in[i];while(1){char minus[26];memset(minus,0,sizeof(minus));flag=0;for(int i=0;i<n;i++)if(!temp[i]&&!vis[i]&&VIS[i]){s[rec++]=i;if(flag)G=1;vis[i]=flag=1;for(int j=first[i];~j;j=next[j])minus[v[j]]++;}for(int i=0;i<n;i++)temp[i]-=minus[i];if(!flag){for(int i=0;i<n;i++)if(VIS[i]&&temp[i]){printf("Inconsistency found after %d relations.\n",ii),F=1;goto en;}else if(!vis[i])goto en;if(!G){F=1,printf("Sorted sequence determined after %d relations: ",ii);for(int i=0;i<rec;i++)printf("%c",s[i]+'A');puts(".");}en:break;}}if(ii==m&&!F&&G)puts("Sorted sequence cannot be determined.");}}
}

转载于:https://www.cnblogs.com/SiriusRen/p/6532360.html

POJ 1094 拓扑排序相关推荐

  1. Poj 1094 拓扑排序Kahn

    Poj 1094 拓扑排序Kahn Sorting It All Out Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4133 ...

  2. poj 4084:拓扑排序

    poj 4084:拓扑排序 非常好的题目,恶心的算法 描写叙述 给出一个图的结构,输出其拓扑排序序列,要求在同等条件下.编号小的顶点在前. 输入 若干行整数,第一行有2个数,分别为顶点数v和弧数a,接 ...

  3. poj 3687(拓扑排序)

    http://poj.org/problem?id=3687 题意:有一些球他们都有各自的重量,而且每个球的重量都不相同,现在,要给这些球贴标签.如果这些球没有限定条件说是哪个比哪个轻的话,那么默认的 ...

  4. pku 1094(拓扑排序,多次拓扑)

    View Code /*Name: 拓扑排序,多次拓扑Copyright: Author: Try86Date: 16/04/12 21:36Description: */#include <c ...

  5. 【题解】(图论) —— POJ 0719:拓扑排序

    题目链接:OpenJudge - 0719:拓扑排序 总时间限制: 10000ms 内存限制: 1000kB 描述 给出一个图的结构,输出其拓扑排序序列,要求在同等条件下,编号小的顶点在前 输入 若干 ...

  6. POJ 3687 拓扑排序

    一个比较慢的算法. 反向拓扑,从大到小枚举. #include <cstdio> #include <cstring> using namespace std; int cas ...

  7. POJ 1094 Sorting It All Out (拓扑排序)

    题意:给你一些大写字母间的偏序关系,然后让你判断能否唯一确定它们之间的关系,或者所给关系是矛盾的,或者到最后也不能确定它们之间的关系.   由DAG图节点的偏序关系确定节点的排序可以由拓扑排序求出.而 ...

  8. POJ - 1094 Sorting It All Out(拓扑排序)

    https://vjudge.net/problem/POJ-1094 题意 对于N个大写字母,给定它们的一些关系,要求判断出经过多少个关系之后可以确定它们的排序或者排序存在冲突,或者所有的偏序关系用 ...

  9. POJ - 1094 Sorting It All Out(拓扑排序+floyd传递闭包)

    题目链接:点击查看 题目大意:给出N个点以及M个比较关系,问在第几个数字可以确定出唯一的序列,或者判断出矛盾的序列,或者最后也无法确定出一个唯一的序列 题目分析:关于这个题目可以直接分类讨论,可以直接 ...

最新文章

  1. c语言节点的作用,C语言链表(基本功能函数)
  2. 微信小程序开源项目库汇总-持续更新
  3. python变量类型-Python 变量类型详解
  4. uint32是什么数据类型_C++编程基础: 4. 数据类型
  5. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记
  6. 《微观动机与宏观行为》精髓:个人的微观动机,是如何影响宏观行为结果的?
  7. CoLA任务的数据增强方法
  8. python格式化输出(二)--字符串的格式化输出
  9. XXXX is not in the sudoers file. This incident will be reported解决方法
  10. 计算机应用 审稿时间,计算机应用研究发表要多长时间
  11. android 判断App进程是否存在,处在前台,后台,前后台切换,service是否运行,设置为系统app
  12. 攻击JavaWeb应用————2、CS交互安全
  13. burp放包_Burp Suite截断改包发包获取Webshell
  14. 零售企业如何快速开上千家门店,揭秘名创优品的低价超级产品战略
  15. 愿岁月静好,始于初见,止于终老
  16. Vmware 安装时提示directory ezboot not found解决办法
  17. 基于分子模拟对植物性抑菌剂抑制耐药菌的研究
  18. MySQL数据库死锁了,该怎么办?一文全解最新教程
  19. 如何查看oracle数据库的端口号,如何查找Oracle数据库的URL和端口?
  20. mysql 修改自动递增值_MySql数据库自动递增值问题

热门文章

  1. mysql proxy php_mysql Proxy读写分离配置或php mysql读写分离类
  2. springboot事物注解不生效_springboot事务不生效的几种解决方案
  3. java存储数据_Java 数据存储
  4. java二叉树深度优先遍历会考不递归的吗_树的广度优先遍历和深度优先遍历(递归非递归、Java实现)...
  5. html基本结构(头部需加上样式表),HTML基本结构、头部、注释(示例代码)
  6. 正弦函数_题型和解析 | 三角函数(补充)
  7. python创建列表副本_Python编程15:Python列表的排序和列表的副本
  8. c语言 万年历编程,用C语言如何编写“万年历”
  9. 计算机底纹不起作用,CSS - 背景颜色在IE11中不起作用(CSS - background-color not working in IE11)...
  10. android porting usb audio,android - 在android中启动时找不到audio-hal-2-0 - 堆栈内存溢出...