okk 买了紫书 没事刷一刷UVa
UVa打开挺慢的 这里用的是virtual judge 感觉还好
记得PAT甲级里面有道跟这个意思差不多的 模拟一下进出栈顺序 碰到和栈顶数字一样的就出栈 最后栈空就是对的顺序 不空就是不对
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
while(1){
cin>>n;
while(n!=0){
vector<int> vec(n);
stack<int> s;
cin>>vec[0];
if(vec[0]==0){
printf("\n");
break;
}
for(int i=1;i<n;i++) cin>>vec[i];
int idx=0;
for(int i=1;i<=n;i++){
s.push(i);
while(!s.empty()&&vec[idx]==s.top()){
s.pop();
idx++;
}
}
if(!s.empty())printf("No\n");
else printf("Yes\n");
}
if(n==0)break;
}
}