社区讨论
有点疑问
P1155[NOIP 2008 提高组] 双栈排序参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mi6we1un
- 此快照首次捕获于
- 2025/11/20 11:54 4 个月前
- 此快照最后确认于
- 2025/11/20 11:54 4 个月前
一开始我染色后是这么做的
CPPwhile(!S1.empty()&&S1.top()==K)
S1.pop(),printf("b "),K++;
while(!S2.empty()&&S2.top()==K)
S2.pop(),printf("d "),K++;
其实就是把两个栈的出栈依次考虑
这样做只有30分
然后我就这样做
CPPwhile((!S1.empty()&&S1.top()==K)||(!S2.empty()&&S2.top()==K)){
if(!S1.empty()&&S1.top()==K)S1.pop(),printf("b ");
else S2.pop(),printf("d ");
K++;
}
相当于一起考虑,但是这样就是AC 大佬可不可以看一下这两种有什么区别吗
回复
共 3 条回复,欢迎继续交流。
正在加载回复...