#include<iostream>#include<stack>using namespace std;int main(void){	//freopen("in.txt", "r", stdin);	int M, N, K;	cin >> M >> N >> K;	int num;//記錄出棧的數(shù)值	for (int i = 0; i < K; i++ )	{		int cur = 1;//由于是1~N,直接采用一個(gè)變量來記錄要入棧的值,省略隊(duì)列。		stack<int> s;		int flag = 1;		for (int j = 0; j < N; j++)		{			cin >> num;			if (flag)			{				while (s.empty() || s.top() != num)//空?;蛘邨m敳坏犬?dāng)前值,就入棧				{					s.push(cur);					cur++;					if ((int)s.size() > M)//棧滿,則不可能					{						flag = 0; 						break;					}				}				if (flag == 1 && s.top() == num)//相等則出棧					s.pop();			}		}		if (flag == 1)			cout << "YES" << endl;		else			cout << "NO/n";	}	return 0;}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注