栈混洗 有A,B,S,三个栈,初始化一个排列在B中,B中的元素,通过栈S到达栈A中,A中可以得到不同的排列。计数:A中排列的个数记为排列的长度是的时候的个数,若中已经有个元素,则中剩余个元素,这时候的个数是 ,枚举,这就是卡特兰数列, 判断栈A的排列是否能由栈B经过栈S得到模拟栈B,pop()的过程。 bool is(int *A,int *B,int n){ //A 栈底[1,n]栈顶。 //B 栈顶[1...n]栈底 stack<int>S; int t=1; for(int i=1;i<=n;i++){ S.push(B[i]); while(!S.empty()&...