diff --git "a/ZJU_MOOC_\346\225\260\346\215\256\347\273\223\346\236\204/02-\347\272\277\346\200\247\347\273\223\346\236\2044 Pop Sequence (25 \345\210\206).cpp" "b/ZJU_MOOC_\346\225\260\346\215\256\347\273\223\346\236\204/02-\347\272\277\346\200\247\347\273\223\346\236\2044 Pop Sequence (25 \345\210\206).cpp" new file mode 100644 index 0000000..a4c0fb5 --- /dev/null +++ "b/ZJU_MOOC_\346\225\260\346\215\256\347\273\223\346\236\204/02-\347\272\277\346\200\247\347\273\223\346\236\2044 Pop Sequence (25 \345\210\206).cpp" @@ -0,0 +1,29 @@ +#include +#include +#include +using namespace std; + +int main(){ + int m, n, k; + scanf("%d %d %d", &m, &n, &k); + for(int i = 0; i < k; i++){ + bool flag = false; + stack s; + vector v(n + 1); + for(int j = 1; j <= n; j++) + scanf("%d", &v[j]); + int current = 1; + for(int j = 1; j <= n; j++){ + s.push(j); + if(s.size() > m) break; + while(!s.empty() && s.top() == v[current]){ + s.pop(); + current++; + } + } + if(current == n + 1) flag = true; + if(flag) printf("YES\n"); + else printf("NO\n"); + } + return 0; +}