码迷,mamicode.com
首页 > 其他好文 > 详细

栈-----火车的模拟

时间:2016-10-12 16:30:30      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

 1 //栈的使用   火车的模拟 
 2 
 3 #include<cstdio>
 4 #include<iostream>
 5 #include<stack>
 6 
 7 using namespace std;
 8 
 9 const int MAXN = 1000 + 10;
10 
11 
12 int n,target[MAXN];
13 
14 int main(){
15     while(scanf("%d", &n)==1){
16         stack<int> s;
17     int A = 1 , B = 1;
18     for(int i = 1; i <= n; i++)
19        scanf("%d",&target[i]);
20     int ok = 1;
21     while(B <= n){
22         if(A == target[B]){ A++; B++;}
23         else if(!s.empty() && s.top() == target[B]){ s.pop(); B++;}
24         else if(A <= n)s.push(A++);
25         else{ ok = 0; break;}
26     }
27     printf("%s\n",ok?"Yes":"No");
28     }
29     
30     return 0;
31 }

 

栈-----火车的模拟

标签:

原文地址:http://www.cnblogs.com/bingdada/p/5953166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!