有人帮我差错吗,这是作业qwq
查看原帖
有人帮我差错吗,这是作业qwq
330451
帅皮的瓜粉楼主2020/5/11 20:51
#include<bits/stdc++.h>
using namespace std;
stack <int>st;
int a[10005],r[10005];
int main()
{
	int n;
	int x;
	while(scanf("%d",&n),n)
	{
		while(scanf("%d",&x)!=-1&&x>0)
	{
		int flag=1;
		a[0]=x;
		for(int i=1;i<=n-1;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=1;i<=n;i++)
		{
			r[i-1]=i;
		}
		int j=0;
		for(int i=0;i<n;i++)
		{
			if(!st.empty()&&a[i]==st.top())
			{
				st.pop();
				continue;
			}
			else
			{
				while(a[i]>r[j])
				{
					st.push(r[j]);
					j++;
				} 
				if(a[i]==r[j])
				{
					j++;
					continue;
				}
				else
				{
					flag=0;
				}
			}
		}
		if(flag)
		{
			printf("YES\n");
		}
		else
		{
			printf("NO\n");
		}
	}
	}
	
    return 0;
}

https://www.luogu.com.cn/record/33536367

2020/5/11 20:51
加载中...