| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
不同意stl的观点?怎么是错误?悉求大虾指点#include <stack>
#include <iostream>
using namespace std;
int main(void) {
int arr[1010], n, i, flag;
stack<int> a;
stack<int> b;
while (cin >> n) {
if (!n) break;
while (cin >> arr[0]) {
if (!arr[0]) {
cout << endl;
break;
}
for (i = 1; i < n; i++)
cin >> arr[i];
for (i = n; i > 0; i--)
a.push(i);
flag = 1;
i = 0;
while (i < n) {
if (b.empty()) {
if (a.top() == arr[i]) {
i++;
a.pop();
} else {
b.push(a.top());
a.pop();
}
} else {
if (b.top() == arr[i]) {
i++;
b.pop();
} else {
if (a.empty()) {
flag = 0;
break;
} else {
b.push(a.top());
a.pop();
}
}
}
}
if (flag)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator