1363.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 61 行

TXT
61
字号

#include "iostream.h"
#include "stack"

using namespace std;

int main()
{
	int n, i, j, k;
	stack<int> st;

	while(1)
	{
		cin>>n;
		if( n == 0 ) break;

		while(1)
		{
			cin>>k;
			if( k == 0 ) break;

			while( !st.empty() ) 
				st.pop();

			for( i=0, j=0; ; )
			{
				if( !st.empty() && st.top() == k )
				{
					st.pop();
					j++;
					if( j == n )
					{
						cout<< "Yes"<<endl;
						break;
					}
					cin>>k;
				}
				else if( i > n )
				{
					cout<< "No"<<endl;
					break;
				}
				else
				{
					for( ; i<=n && i!= k ; i++ )
							st.push( i );
					if( i == k ) st.push( i++ );
				}
			}

			for( ; j < n-1; j++ )
				cin>>k;
		}

		cout<<endl;
	}

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?