題目是棧操作
#include "bits/stdc++.h" using namespace std; int main() { string m; while(cin >> m) { stack<int>b; int len = m.length(); for(int i=0,k = 1;i < len ;i++){ if(m[i] == 'P'){ b.push(k++); } else { if(!b.empty()){ cout << b.top() << " "; b.pop(); } else { cout << "error"; break; } } } cout << endl; } }
最后發現是在輸出error后沒有及時的break,造成后續的輸出,比較欣慰的是oj提出了“輸出超限”的提示,找到了問題所在。