POJ 1270 Following Orders 拓扑排序

2014-11-24 08:23:42 · 作者: · 浏览: 0

题目大意:

给你一串序列,然后再给你他们部分的大小,要求你输出他们从小到大的所有排列。

如a b f g 然后 a

思路:

把这些字符看成点,如果存在a

话说这题的输入很坑爹,那个大小关系的我还以为是4个一组。。结果被坑死了。看了discuss改了才过。。第一次写拓扑。。。。

#include
   
     #include
    
      #include
     
       #include
      
        using namespace std; const int MAXN=30; char a[MAXN]; char temp[200]; int map[MAXN][MAXN]; bool vis[MAXN]; int id[MAXN],to[MAXN],route[MAXN]; int len; void topsort(int cur) { if(cur==len) { for(int i=0;i