当前位置:编程学习 > C/C++ >>

Train Problem I

数据结构:重新写这题,是参考别人的思路写的,自己定义还是习惯性在主函数外定义,但是一直WA,后来才发现,由于temp,和Q是全局变量,但是却没有清除上次使用的记录
 
 
// File Name: b.cpp  
// Author: bo_jwolf  
// Created Time: 2013年10月16日 星期三 10:53:29  
  
#include<vector>  
#include<list>  
#include<map>  
#include<set>  
#include<deque>  
#include<stack>  
#include<bitset>  
#include<queue>  
#include<algorithm>  
#include<functional>  
#include<numeric>  
#include<utility>  
#include<sstream>  
#include<iostream>  
#include<iomanip>  
#include<cstdio>  
#include<cmath>  
#include<cstdlib>  
#include<cstring>  
#include<ctime>  
  
using namespace std;  
  
int n;  
int i, j;  
const int maxn = 1005;   
char order1[ maxn ], order2[ maxn ];  
void solve(){  
    stack< char > temp;  
    queue< string >Q;  
    for( int i = 0, j = 0; i < n && j <= n; ){  
        if( temp.empty() || temp.top() != order2[ i ] ){  
            if( j == n ){  
                cout << "No.\nFINISH" << endl;  
                return;  
            }  
            temp.push( order1[ j++ ] );  
            Q.push( "in" );  
        }  
        else{  
            Q.push( "out" );  
            temp.pop();  
            i++;  
        }  
    }  
    cout << "Yes." << endl;  
    string ch;  
    while( !Q.empty() ){  
        ch = Q.front();  
        cout << ch << endl;  
        Q.pop();  
    }  
    cout << "FINISH" << endl;  
}  
int main(){  
    while(cin >> n){  
    cin >> order1 >> order2;  
    solve();  
    }  
return 0;  
}  

 

 
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,