#include <cstdio>
#include <stack>
#include <iostream>
using namespace std;
stack <int> st;
int main()
{
int m, n, k;
int str[1020];
cin >> m >> n >> k;
bool flag;
for (int i = 0; i < k; i++) //判斷n個序列
{
while (!st.empty())
{
st.pop();
}
flag = true;
int checkPointer = 1; //代表校驗序列中的位置
for (int i = 1; i <= n; i++)
{
st.push(i);
cin >> str[i];
if (st.size() > m)
{
flag = false;
break;
}
while (st.top() == str[checkPointer] && !st.empty())
{
st.pop();
checkPointer++;
}
}
if (flag)
printf("YES\n");
else printf("NO\n");
}
return 0;
}
uj5u.com熱心網友回復:
陣列定義的小了uj5u.com熱心網友回復:
感謝回復。我試了改大,還是沒用uj5u.com熱心網友回復:
已經找到原因了,st.top() == str[checkPointer] && !st.empty()這句調個順序就行了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/154430.html
標籤:C語言
上一篇:絕對值排序
下一篇:vs是不是有點小bug
