题意:给定一串字符(互异),再给出一个字符序列,表示一种前后关系,如abefcd,表示a<b,e<f,c<d。
将开始给出的字符进行排序,使之符合这个关系序列。并按字典序输出这些符合要求的字符序列。例如:
a b f g
a b b f 结果是:
abfg
abgf
agbf
gabf
分析:这题就是一个给定部分顺序,来确定整体顺序的拓扑排序。但一般的拓扑排序只找出一种符合要求的序列,这题要求找出所有符合要求的序列,这就有点困难,所以还得加上回溯算法。最后对求出的所有符合要求的序列进行排序输出就可以了。
代码:
每次写递归都TM有种向吐血的赶脚!!!
View Code 1 #include 2 #include 3 #include 4 #include