zoukankan      html  css  js  c++  java
  • hdu 1022

    题目链接

    按序列a进栈,问能不能按序列b出栈。

    遍历b,如果当前元素进过栈了,那么必须和栈顶元素相同。如果没进过栈则按a序列压栈,直到遇到当前元素。

    #include <iostream>
    #include <stack>
    #include <string.h>
    using namespace std;
    char ino[22],outo[22];
    bool visited[22];
    char result[222];
    int n;
    int main(){
        int i,j;
        stack<char > s;
        while(scanf("%d%s%s",&n,ino,outo)!=EOF){
            result[0] = '';
            while(!s.empty()) s.pop();
            memset(visited,false,sizeof(visited));
            for(i=0,j=0;i<n;i++){
                if(!visited[outo[i]-'0']){
                    for(;j<n;j++){
                        visited[ino[j]-'0'] = true;
                        strcat(result,"in
    ");
                        if(ino[j]==outo[i]) {
                            strcat(result,"out
    ");
                            j++;
                            break;
                        }
                        s.push(ino[j]);
                    }
                }
                else{
                    if(s.top()==outo[i]){
                        s.pop();
                        strcat(result,"out
    ");
                    }
                }
            }
            if(s.empty())     printf("Yes.
    %sFINISH
    ",result);
            else puts("No.
    FINISH");    
        }
        return 0;
    } 
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    深度学习笔记 (二) 在TensorFlow上训练一个多层卷积神经网络
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/redips-l/p/6797587.html
Copyright © 2011-2022 走看看