“栈”外题求助
  • 板块灌水区
  • 楼主xmtx20081011
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/7/16 21:45
  • 上次更新2023/10/27 19:58:12
查看原帖
“栈”外题求助
382823
xmtx20081011楼主2022/7/16 21:45

题链

代码:

#include<iostream>
#include<stack>
using namespace std;
stack<int> s;
int a[100001];
int main()
{
	int n,t=2;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	} 
	s.push(1);
	for(int i=2;i<=n;i++)
	{
		if(s.top()!=a[t])
		s.push(i);
		else
		{
			s.pop();
			t++;
		}
	}
	if(!s.empty())
	{
		int l=s.size();
		for(int i=1;i<=l;i++)
		{
			if(s.top()==a[t])
			{
				s.pop();
				t++;
			}
			else
			{
				cout<<"NO";
				return 0;
			}
		}
		cout<<"YES";
		return 0;
	}
	else
	cout<<"YES";
	return 0;
}
2022/7/16 21:45
加载中...