题目链接:https://vjudge.net/problem/UVA-514

题目大意:右边的火车经过中间的收费站到左边,右边火车进站的秩序是1~n   判断是否能以题中是所给的次序通过

思路:很明显的先进后出  显然是栈 ,这是第一道栈的题目,算是入了个门吧 ,会了栈就很简单了,不细讲,看代码:

#include<iostream>
#include<stack>
using namespace std;
const int maxn=+;
int target[maxn];
int main()
{
int n;
while(cin>>n)
{
if(n==) break; while(true)
{ stack<int>s;
int flag=;
cin>>target[];
if(target[]==) break;
for(int i=;i<=n;i++) cin>>target[i];
//1`n依次进站
int A=,B=;//A是当前入站的车号 B是目标序列的下标
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
{
flag=;
break;
}
}
if(flag) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
cout<<endl; }
stack<int>s; }

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)
  2. windows server 2008服务器IIS绑定阿里云域名
  3. command-t插件使用说明
  4. 在WIN32 DLL中使用MFC库遇到的问题
  5. php递归数组中的应用
  6. android 抽屉式滑动demo
  7. springboot mybatis 事务管理
  8. HDU1061-Rightmost Digit-规律题,快速幂
  9. 让vue-cli脚手架搭建的项目可以处理vue文件中postcss语法
  10. Docker实现运行tomcat并部署项目war包,并实现挂载目录
  11. [转]使用python爬取东方财富网机构调研数据
  12. echarts地图显示不正常问题
  13. Linux Shell的18条常用命令整理
  14. idea中deBug方法
  15. &lt;Yarn&gt;&lt;Node Labels&gt;
  16. ES6.0 Generator 三种用法
  17. 在linux下安装eclipse以及运行c++程序的安装步骤
  18. Android开发11——手机横屏和竖屏与android:configChanges
  19. 第三百零八节,Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多
  20. pring MVC过滤器-HttpPutFormContentFilter

热门文章

  1. Entity Framework Tutorial Basics(21):CRUD Operation in Connected Scenario
  2. 查看类属性和方法---structure
  3. 无需知道类名,就可以启动apk
  4. 根据GridView模板里的列名获取列索引
  5. 算法训练 Balloons in a Box (枚举,模拟)
  6. 软件测试就业必备知识点&amp;自学软件测试-Dotest-2019
  7. Python 中 os.path 模块的运用
  8. 高效 MacBook 工作环境配置
  9. 浅谈python web框架django2.x
  10. react常用开发工具