首页 > 其他 > 详细

hdu Train Problem I

时间:2015-03-26 23:09:20      阅读:208      评论:0      收藏:0      [点我收藏+]

这道题是道简单的栈模拟题,只要按照真实情况用栈进行模拟即可:

技术分享
#include<stdio.h>  
#include<string.h>  
#include<stack>  
using namespace std;  
int main()  
{  
    int n, i, j, k, flag[50];  
    char s1[15], s2[15];  
    stack <char> s;  
    while(~scanf("%d %s%s",&n,s1,s2))  
    {     
        while(!s.empty())  s.pop(); //也可以不写这一句,把 stack <char> s; 就可以了  
        memset(flag,-1,sizeof(flag));  
        j = k = 0;  
        for(i = 0; i < n; i++)  
        {  
            s.push(s1[i]);  
            flag[k++] = 1;  
            while(!s.empty() && s.top() == s2[j])  
            {  
                flag[k++] = 0;  
                s.pop();  
                j++;  
            }  
        }  
        if(j == n)  
        {  
            printf("Yes.\n");  
            for(i = 0; i < k; i++)  
            {  
                if(flag[i])  
                    printf("in\n");  
                else  
                    printf("out\n");  
            }  
        }  
        else  
            printf("No.\n");  
        printf("FINISH\n");  
    }  
    return 0;  
}  
View Code

 

hdu Train Problem I

原文:http://www.cnblogs.com/acm-jing/p/4370133.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!