//帮忙改错吧,改了两天还是没改过来
#include
#include
#define MAX_LEN 100
#define STACK_SIZE 200
char source[MAX_LEN],target[MAX_LEN];
int state[2*MAX_LEN];
char stack[STACK_SIZE];
int len;
int flag=0;
int print(int depth)
{
int i=0;
while(i0&&target[npop]==stack[stack[0]])
{
state[depth-1]=-1;
stack[0]--;
if(npush==len&&npop==len-1)
{
flag=1;
print(depth);
return 0;
}
dfs(depth+1,npush,npop+1);
stack[0]++;
}
return 0;
}
int main(void)
{
while(scanf("%s%s",source,target)!=EOF)
{
puts("[");
flag=0;
len=strlen(source);
if(len==strlen(target))
dfs(1,0,0);
puts("]");
}
return 0;
}
|