首页 > 其他 > 详细

Uva 514 Rails

时间:2020-04-10 15:36:09      阅读:75      评论:0      收藏:0      [点我收藏+]

注意输出格式

 

 1 /*对于已经给出的入栈顺序判断出栈顺序是否正确*/
 2 
 3 #include<iostream>
 4 #include<stack>
 5 #include<cstdio>
 6 using namespace std;
 7 const int num = 1000 + 10;
 8 int target[num];
 9 int main()
10 {
11     int n, i;
12     scanf_s("%d", &n);
13     while (n) {
14         cin >> target[1];
15         if (!target[1])//输出格式格式
16         {
17             printf("\n");
18             cin >> n; 
19             continue;
20         }
21         for (i = 2; i <= n; i++)
22             cin >> target[i];
23         int A = 1, B = 1, ok = 1;
24         stack<int> s;
25         while (B <= n)
26         {
27             if (A == target[B]) { A++, B++; }//判断有没有直接入栈出栈的
28             else if (!s.empty() && s.top() == target[B]) { s.pop(); B++; }//判断是否符合顺序出栈规则
29             else if (A <= n) { s.push(A); A++; }//当A数全部入栈,此功能失效
30             else { ok = 0; break; }
31         }
32         printf("%s\n", ok ? "Yes" : "No");
33     }
34     return  0;
35 
36 }

 

Uva 514 Rails

原文:https://www.cnblogs.com/Dinosaur-Po/p/12672790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!