0
点赞
收藏
分享

微信扫一扫

Rails_via牛客网

大明宫 2022-02-07 阅读 24
算法c++

题目

题解

这道题目其实不难,重点是输入以及输出有大大的问题

代码

#include <iostream>
#include <stack>
using namespace std;
int s[1005];
int n = 0;
bool check()
{
	int j = 0;
	stack<int> a;
	for (int i = 1; i <= n; i++)
	{
		a.push(i);
		while (!a.empty() && a.top() == s[j])
		{
			a.pop();
			j++;
		}
	}
	if (a.empty())
	{
		return true;
	}
	else
		return false;
}
int main()
{
	int flags = 0;
	int buf = 0;
	while (1)
	{
		cin >> buf;
		if (!buf)
			break;
		else
		{
			n = buf;
			if (flags)
				cout << endl;
		}
			
		while (1)
		{
			cin >> buf;
			if (buf)
			{
				s[0] = buf;
				for (int i = 1; i < n; i++)
					cin >> s[i];
				flags = 1;
				if (check())
					cout << "Yes" << endl;
				else
					cout << "No" << endl;
			}
			else
				break;
		}
	}
	return  0;
}
举报

相关推荐

0 条评论