较为简单的stack题目

但是还是犯了一些错误:

1、 要想清空栈,直接重新定义较为方便!

2、在if(s.top()==x)时  加上  !s.empty()  否则程序会崩溃

3、 必须要加上i--  错了好久

#include <bits/stdc++.h>

using namespace std;

int main()
{
int a[];
int n; while(scanf("%d",&n)&&n)
{ while(){ stack<int>s;//方便重置!
scanf("%d",&a[]);
if(a[]==)break;
for(int i=;i<=n;i++)
{scanf("%d",&a[i]);} int ok=;
int j=;
for(int i=;i<=n;i++)
{ if(j==a[i]){j++;}
else if(!s.empty()&&s.top()==a[i]){s.pop();}//没有 s.empty会崩溃
else if(j<=n){j++;s.push(j-);i--;}//i--至关重要 !!!
else {ok=;break;} } if(ok)printf("Yes\n");
else printf("No\n"); }
printf("\n"); }
return ;
}
#include<bits/stdc++.h>
using namespace std; int main()
{
int n;
while(cin>>n&&n)
{
int a[]={};
while(){ stack<int>k;
scanf("%d",&a[]);if(a[]==)break;
for(int i=;i<n;i++)cin>>a[i]; int ok=;int j=;
for(int i=;i<n;i++)
{
if(a[i]==j){j++;continue;}
else if(!k.empty()&&a[i]==k.top()){k.pop();continue;}
else if(j<a[i])
{
while(j<a[i])
{
k.push(j);j++;
}
j++;
}
else {ok=;break;}
} if(ok)printf("Yes\n");else printf("No\n");
}
cout<<endl; } return ;
}

6-2 铁轨 uva 514的更多相关文章

  1. 铁轨(rails, ACM/ICPC CERC 1997,Uva 514)

    铁轨(rails, ACM/ICPC CERC 1997,Uva 514) 题目描述 某城市有一个火车站,铁轨铺设如图所示.有n节车厢从A方向驶入车站,按进站顺序编号为1~n.你的任务是让它们按照某种 ...

  2. UVA 514 - Rails ( 铁轨)

    from my CSDN: https://blog.csdn.net/su_cicada/article/details/86939523 例题6-2 铁轨(Rails, ACM/ICPC CERC ...

  3. 铁轨(UVa 514)

    利用栈实现 C++11 代码如下: #include<iostream> #include<stack> using namespace std; #define maxn 1 ...

  4. UVa 514 铁轨

    题意: #include <bits/stdc++.h> using namespace std; int main() { int n; ]; ; ) { ]) && n ...

  5. Rails,uva 514

    题目:铁轨 题目链接:UVa514链接 题目描述: 某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1-n.你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶入车站.例 ...

  6. UVa 514 (stack的使用) Rails

    练习一下stack的使用,还有要注意一下输入的格式,看了好长时间没懂. //#define LOCAL #include <iostream> #include <cstdio> ...

  7. uva 514

    栈的简单应用 /************************************************************************* > Author: xlc28 ...

  8. UVa 514 Rails(经典栈)

     Rails  There is a famous railway station in PopPush City. Country there is incredibly hilly. The st ...

  9. Uva - 514 - Rails

    C是一个栈,每次先检查A的第一个元素是否满足,如果满足,直接进入B:再检查C中栈顶元素是否满足,如果满足,出栈进入B:前两步都不满足将A放入C栈中.循环到B满或者A,C中都不满足条件并且A空,第一种情 ...

随机推荐

  1. android 生成、pull解析xml文件

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  2. JavaScript之能力与硬件检测[小结]

    //检查浏览器种类及其版本号 function checkBrowserVersion(){ var Sys = {}; var ua = navigator.userAgent.toLowerCas ...

  3. Android开发技巧——ViewPager加View情况封装PagerAdapter的实现类

    ViewPager是Android的support库中的一个控件. ViewPager + Fragment的使用,已经有FragmentAdapter的实现可以帮助我们快速进行开发了: ViewPa ...

  4. SSM框架中将时间写入数据库的格式定义

    //声明Date类接收的数据格式 @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date addtime;

  5. python正则表达式一[转]

    原文:http://blog.jobbole.com/74844/ 作为一个概念而言,正则表达式对于Python来说并不是独有的.但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别. ...

  6. 第一个FPGA工程—LED流水灯

    这一章我们来实现第一个FPGA工程-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始 ...

  7. CentOS修改编码方式为zh_CN.UTF-8

    1.查看系统是否支持简体中文 locale -a 2.修改编码方式 vim /etc/sysconfig/i18n 将文件内容修改为下面文本: LANG="zh_CN.UTF-8" ...

  8. 理解 Linux 配置文件【转】

    转自:http://www.ibm.com/developerworks/cn/linux/management/configuration/ 分类和使用 本文说明了 Linux 系统的配置文件,在多 ...

  9. 网络抓包 Fiddler

    1. Fiddler 抓包简介 Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据.当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了.当你关闭的时候 ...

  10. 002_HTTP每日分析及翻译

    一.Request Headers Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng ...