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++ ,