#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> s;
int n,t=1;
cin>>n;
int target[101];
for(int i=0;i<n;i++) cin>>target[i];//保存指定序列
int i=0;
while(t<=n){//t为车的序号
if(!s.empty()&&s.top()==target[i]){//如果C不为空且C的第一辆车符合序列
s.pop();//出站
i++;
continue;//再比较
}
else s.push(t++); //入站
}
//如果是第五个车开始符合
while(n-i){
if(!s.empty()&&s.top()==target[i++]){//如果C不为空且C的第一辆车符合序列
s.pop();//出站
}
else break;
}
cout<<(s.empty()?"Yes!":"No!");
while(!s.empty())s.pop();//清站
return 0;
}
铁轨(Rails,ACM/ICPC CERC 1997,UVa 514)
最新推荐文章于 2023-05-02 14:57:56 发布