L2-032 彩虹瓶(团体程序设计天梯赛-练习集)
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1100;
int n, m, k;
int st[MAXN];
int main(){
cin >> n >> m >> k;
while(k--){
int flag = 0;
int cnt = 1, cur = 0;
for(int i = 1; i <= n; i++){
int x;
cin >> x;
if(x == cnt){
cnt++;
while(cur != 0 && st[cur] == cnt){
cnt++;
cur--;
}
}else{
st[++cur] = x;
if(cur > m) flag = 1;
}
}
if(flag || cur) puts("NO");
else puts("YES");
}
return 0;
}

浙公网安备 33010602011771号