Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469229
  • 博文数量: 117
  • 博客积分: 3195
  • 博客等级: 中校
  • 技术积分: 1156
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-04 01:44
文章分类

全部博文(117)

文章存档

2012年(5)

2011年(5)

2010年(46)

2009年(61)

我的朋友

分类:

2010-02-20 17:52:11

 

题意:

       给出一些字母和他们的大小关系, 然后给所有字母排序。会遇到三种情况:

1.      输入x( 1x m)种关系后可以把所有顺序都确定。

2.      输入x( 1x m)种关系后发现有矛盾

3.      全部都输入后都无法确定顺序

 

思路:

       每输入一种关系都要先判断下是否有矛盾, 有的话直接忽略后面的输入; 当所有该出现的字母都出现了时,判断是否可以确定顺序, 可以的话输出结果,忽略后面的输入, 否则继续输入关系,继续判断;输入完了都没有找到情况12,就可输出无法确定顺序。

       判断是否有矛盾,我也是用拓扑排序,与后面的拓扑排序不同的是前者入度为0的可以多个,后者只能有一个。

 

值得注意的地方是: 当情况1或者2任意一个满足时就可以忽略后面的了,我搞了半天就是以为在情况1满足的条件下,如果后面发现矛盾了,就以情况2处理。

阅读(1430) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~