hdu oj 1022

#include<stdio.h>// oj 1022
#include<string.h>
struct stack{
  int top;
  char s[20];
};

int main()
{
    int n;
    int i;
    char a[15],b[15];
    int flag[25]={10};
    stack c;
    while(scanf("%d" ,&n)!=EOF)
    {
        scanf("%s" ,a);
        scanf("%s" ,b);
        int j = 0;
        c.top = 0;
        int k = 0;
        memset(c.s,'\0',sizeof(c.s));
        for( i = 0 ;i < n ;i ++ )
        {
            c.s[c.top++] = a[i];
  //         printf("in\n");
            flag[k++] = 0;

            while(1)
            {
              if(  c.s[c.top-1] == b[j] )
                {
        //          printf("out\n");
                    flag[k++] = 1;
                    c.top --;
                    j ++;
                    if(c.top == 0) break;
                }
                else break;
            }
        }
        if( c.top == 0 )
        {
            printf("Yes.\n");
            for(i = 0 ;i < 2*n ;i ++)
              if(flag[i] == 0) printf("in\n");
            else printf("out\n");

        }
        else
          printf("No.\n");
          printf("FINISH\n");
    }
    return 0;
}

虽是水题,但是自己写的栈。纪念一下。。。

posted @ 2013-07-18 11:46  i梦  阅读(195)  评论(0)    收藏  举报