代码改变世界

Sicily/1927. Conflict

2011-11-20 17:40  Min·zc  阅读(185)  评论(0编辑  收藏  举报

对于< 和 >可以合并为 <

对于<= 和 >= 可以合并为 <=

对于 = 可以变为 <=且 >=

!=则单独处理

使用一个表来保存初始的所有表达式的状态,需要注意的是要将每个表达式对他自己设置为=,用来处理例如a=a或者a!=a的情况。

然后使用warshall求解这个表的闭包。最后验证一下是否存在冲突即可。

如果存在 a<b 且 b<a或者b<=a那么就是一种冲突

如果存在a!=b 且 a<=b且b<=a那么就是一种冲突

 

需要注意的是每个case的停机条件。如果是使用":"的位置那么需要注意case为两位数的情况