呜呜呜,小火车开动啦~~~
杭电oj1022 : Train Problem
这是一个栈的题目,不用栈,直接用数组做,贴出代码:
#include <stdio.h>
char a[10], b[10];
char c[10];
int ass[18];
int n;
int main(){
while(scanf("%d", &n) != EOF){
scanf("%s %s", a, b);
int i=0, j=0, z=0, top=0;
while(a[i]){
c[top] = a[i];
ass[z] = 1;
top++;
z++;
while(top>0 && b[j]==c[top-1]){
top--;
ass[z] = 0;
z++;
j++;
}
i++;
}
if(top == 0){
printf("Yes.\n");
for(i=0; i<2*n; i++)
if(ass[i])
printf("in\n");
else
printf("out\n");
printf("FINISH\n");
}
else
printf("No.\nFINISH\n");
}
return 0;
}