2008年7月5日星期六

做题 PKU1128

这几天很忙,换了平台,问题无数,烦死了。
突然觉得,做题目是多么纯粹的事情,看题目,分析,写代码,调试,搞定。不用交流,不用扯淡,不用管什么环境。。。。。。这是多么幸福的事情。

这次的题目是PKU1128,最后0MS AC。

题目也不难。首先扫描输入数据,得到矩形的区域信息,(这里已开始没有看清楚题目,题目有个约束是see at least one part of each of the four sides, 这极大的简化了题目). 然后在每条边上查询被那些覆盖的字符,那么那些覆盖字符代表的矩形就是表示z-order更高的。得到一系列的序对:(A, B) (A < B). 当然,根据这个序对得到一个有向图,本质上是求出这个图的所有的拓扑排序。每次找到一个入度0的节点,然后删除,递归这个过程直到得到路径。题目要求所有的路径,于是需要递归前后回复状态,把删除的节点恢复。(我使用一个标志数组,效率还不错)。

不过一开始还是在scanf上面又纠缠了一下。。。WA了一次-_-~。

0 COMMENTS: