求大佬解答,鄙人将不胜感激

UVA514 Rails

哦,我知道了。 但是我改了之后还是错的: ``` #include<iostream> #include<cstdio> #include<stack> using namespace std; #define N 1000 stack <int> q; int target[N]; int n; bool check(){ int a=1,b=1; bool flag=1; while(b<=n){ if(a==target[b]){ a++; b++; } else if(!q.empty() && q.top()==target[b]){ q.pop(); b++; } else if(a<=n){ q.push(a++); } else{ flag=0; break; } } if(!flag) return false; else return true; } int main() { while(scanf("%d",&n)==1){ if(n==0) return 0; int i=1; for(i=1;i<=n;i++){ scanf("%d",&target[i]); if(target[i]==0) break; } if(i==2) continue; else { if(check()) printf("Yes\n"); else printf("No\n"); } } return 0; } ```
by OI_lover @ 2018-08-06 15:27:20


这题输出格式很变态的。。。
by xiangling @ 2018-08-06 15:35:39


|