Train Problem I

2014-11-24 00:04:23 · 作者: · 浏览: 1
数据结构:重新写这题,是参考别人的思路写的,自己定义还是习惯性在主函数外定义,但是一直WA,后来才发现,由于temp,和Q是全局变量,但是却没有清除上次使用的记录
// File Name: b.cpp  
// Author: bo_jwolf  
// Created Time: 2013年10月16日 星期三 10:53:29  
  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
  
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; }