这个题做得有点久呀!!!记的是和大冰最先开始搞这个题的,却是最后一个ac的。。。⊙﹏⊙。。这个题的思路就是oj上寻找最大数那个题的思路和栈的思想。。
#include<stdio.h> char yi[100]; int k=0; void get(int n) { if(n==1) yi[k++]='1';//进 else if(n==0) { yi[k++]='1'; yi[k++]='0';//出 } else yi[k++]='0'; } int main() { int a,b,c,n,m; while(scanf("%d",&n)!=EOF) { char ok1[15],ok2[15]; int top=-1; int ac[15]={0};//标记是否已经出去。。 k=0;c=0; scanf("%s%s",ok1,ok2); for(a=0;a<n;a++) { b=a; if(ok1[a]!=ok2[c]) { get(1); top++; } else { get(0); ac[a]=1; c++; while(b>0) { b--; if(ac[b]==1) continue; if(ok1[b]==ok2[c]) { get(2); ac[b]=1; c++; top--; } else break; } } } if(top!=-1) printf("No.\n"); else { printf("Yes.\n"); for(a=0;a<k;a++) if(yi[a]=='1') printf("in\n"); else printf("out\n"); } printf("FINISH\n"); } }