L2-032 彩虹瓶 (25 分)
发布日期:2021-05-08 16:29:19 浏览次数:20 分类:精选文章

本文共 1201 字,大约阅读时间需要 4 分钟。

L2-032 彩虹瓶 (25 分)

思路

直接用栈模拟就可以了,没有特别需要注意的,具体见代码。

模拟赛做了一遍,卡在超过m才是判错;现在又做了一遍,还是卡在超过m才是判错。呜呜呜

代码

#include 
#define INF 0x3f3f3f3f3f3f#define pb push_backusing namespace std;typedef pair
P;const int N = 1e5 + 10;typedef long long ll;struct node{ int id; int data;};stack
st;int main(){ int n, m, k; cin >> n >> m >> k; while(k--) { while(st.size()) st.pop(); bool flag = 0; int exp = 1; for(int i = 0, tmp; i < n; i++) { cin >> tmp; if(exp == tmp) { exp++; while(st.size() && exp == st.top()) { st.pop(); exp++; } } else { st.push(tmp); } if(st.size() > m) { flag = 1; } } while(st.size() && exp == st.top()) { st.pop(); exp++; } if(flag || st.size()) { cout << "NO" << endl; } else { cout << "YES" << endl; } } return 0;}
上一篇:L3-001 凑零钱 (30 分)
下一篇:L2-031 深入虎穴 (25 分)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年03月21日 21时14分54秒