Rails (堆栈)<数据结构>
题意:<看图片>
解题思路:栈的简单应用:
#include<iostream> #include<stack> #include<algorithm> using namespace std; int main () { int N,data[1005],flag=1; while(~scanf("%d",&N)&&N) { while(1) { for(int i=1;i<=N;i++){ flag=1; scanf("%d",&data[i]); if(data[1]==0){flag=0;break;} } if(!flag) break; else{ stack<int>st; int A=1,B=1; int ok=1; while(B<=N){ if(A==data[B]){A++;B++;} else if(!st.empty()&&st.top()==data[B]){st.pop();B++;} else if(A<=N)st.push(A++); else {ok=0;break;} } printf("%s\n",ok==1?"Yes":"No"); } } printf("\n"); } return 0; }
想的太多,做的太少。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步