社区讨论
NOIPT2求Hack/求调
学术版参与者 4已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo7e5u30
- 此快照首次捕获于
- 2023/10/27 00:21 2 年前
- 此快照最后确认于
- 2023/10/27 00:21 2 年前
code
我手写的checker
思路
若只存在 种卡牌,则留下一个空栈,其他每个栈最多只放两张卡牌。这时候的栈只有四种情况:
-
空栈;
-
只有一张卡牌;
-
栈底的下一张同种卡牌来的早,这时只能从栈底消;
-
栈顶的下一张同种卡牌来的早,这时只能从栈顶消;
若有 种卡牌,考虑所有栈中已有 种卡牌,要加入一张另一种卡牌放哪:
-
若存在一个栈从栈底消,放在该栈不会使该栈中的卡牌不能消去;
-
否则,放在空栈。
所以有 种卡牌时栈还可能存在第五种情况:
栈中有三种卡牌,只保证栈底的卡牌比栈中间的卡牌下一张同种卡牌来的早,从栈底消去后会变成第 或第 种情况
空栈用栈维护其下标, 情况的栈用 维护其下标,直接操作即可。
回复
共 7 条回复,欢迎继续交流。
正在加载回复...