请问紫书141页的程序怎么理解
  • 板块灌水区
  • 楼主Gwqsky
  • 当前回复3
  • 已保存回复3
  • 发布时间2020/10/3 19:35
  • 上次更新2023/11/5 12:07:26
查看原帖
请问紫书141页的程序怎么理解
362244
Gwqsky楼主2020/10/3 19:35

刘汝佳的《算法竞赛入门经典 第2版》,例题6-2的题目,各个变量,语句是什么意思 QwQ UVa 514 铁轨

#include<cstdio>
#include<stack>
using namespace std;
const int MAXN=1000+10;
int n,target[MAXN]; 
int main(){
    while(scanf("%d",&n)==1){
        stack<int>s;
        int a=1,b=1;
        for(int i=1;i<=n;i++)
            scanf("%d",&target[i]);
        int ok=1;
        while(b<=n){
            if(a=target[b]){a++;b++;}
            else if(!s.empty() && s.top()==target[b]){s.pop();b++;}
            else if(a<=n)s.push(a++);
            else{ok=0;break;}
        }
        printf("%s\n",ok?"Yes":"No");
    }
    return 0;
}
2020/10/3 19:35
加载中...