F-Rails 看没大佬发F题题解 小蒟蒻就在这献丑了()
/// 题意 个人理解哈 :火车以1-n的顺序进入 (本人第一次发题解,勿喷勿喷xx)
#include<iostream>
#include<algorithm>
#include<stack>
using namespace std;
#define ll long long
const int N=2e5+10;
ll a[N],b[N],c[N];
ll res=0,n;
int main()
{
while(cin>>n&&n) // F-Rails 题意 个人理解哈 :火车以1-n的顺序进入 问是否可以按输入的顺序输出
{
while(cin>>a[0]&&a[0]) // 判断
{
for(int i=1;i<n;i++)
cin>>a[i];
stack<ll>s;
for(int i=0,j=1;j<=n;j++)
{
s.push(j); // 按顺序入栈
while(!s.empty()&&s.top()==a[i])
{
i++;
s.pop();
}
}
if(s.empty())
cout<<"Yes"<<endl; // 空了说明都出去了
else
cout<<"No"<<endl;
}
cout<<endl;
}
return 0;
}