Description
Input
Output
Sample Input
5 1 2 3 4 5 5 4 1 2 3 0 6 6 5 4 3 2 1 0 0
Sample Output
Yes No Yes
读题读了好久。。。
大概题意就是问你 按照1.......n的顺序输入 能否输出你输入的那种序列
#include <stdio.h>
#include <stack>
using namespace std;
int main()
{
	int n;
	int num[1005];
	while(~scanf("%d",&n)&&n)
	{
		while(true)
		{
			int x;
			scanf("%d",&x);
			if(x==0)
			break;
			else
			{
				num[0]=x;
				for(int i=1;i<n;i++)
				scanf("%d",&num[i]);
			}
			stack<int>s;
			int t=0;
			for(int i=0;i<n;i++)
			{
				s.push(i+1);
				while(!s.empty()&&s.top()==num[t])
				{
					s.pop();
					t++;
				}
			}
			if(t==n)
			puts("Yes");
			else
			puts("No");
			while(!s.empty())
			s.pop();
		}
		printf("\n");
	}
	return 0;
}原文:http://blog.csdn.net/su20145104009/article/details/51397833