较为简单的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. u-boot移植(八)---代码修改---存储控制器--MMU

    一.MMU介绍 1.1 虚拟地址与物理地址 建立两个应用程序,hello1.c和hello2.c,然后运行: hello1.c hello2.c 运行结果如下: 可以看到两个结果打印的地址是一样的,都 ...

  2. u-boot移植(六)---代码修改---串口

    一.代码流程 1.1 串口代码 程序流程图如下: default_serial_console 执行的代码如下: 在JZ2440.H中有如下定义: 则执行结构体s3c24xx_serial0_devi ...

  3. pyqt5的安装

    第一步:需要安装:pip3 install pyqt5   安装工具:pip3 install pyqt5-tools 第二步:打开Pycharm,进入设置,添加外部工具 file-->sett ...

  4. MHA-Failover可能遇到的坑

    一.主从数据一致性 1.1.如何保证主从数据一致性 参考叶师傅文章:FAQ系列 | 如何保证主从复制数据一致性 在MySQL中,一次事务提交后,需要写undo.写redo.写binlog,写数据文件等 ...

  5. JQuery 的Bind()事件

    刚开始我们先看一下它的定义: .bind( eventType [, eventData], handler(eventObject)) .Bind()方法的主要功能是在向它绑定的对象上面提供一些事件 ...

  6. CSS font-family 各名称一览表

    参考链接:https://blog.csdn.net/cddcj/article/details/70739481

  7. Two Sum I & II & III & IV

    Two Sum I Given an array of integers, find two numbers such that they add up to a specific target nu ...

  8. ubuntu数据库迁移

    环境:ubuntu16.04 简介:本教程演示如何从旧数据库服务器服转移到另一个新服务器. 场景:假设你有自己的云服务器安装了WordPress站点,你为了更多的内存和处理能力想升级到新的服务器. 操 ...

  9. Mac android studio 一直卡在Gradle:Build Running的解决办法

    1.找到路径/Users/michael/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew,在此文件夹下有一个gradle版 ...

  10. nagios系列(八)之nagios通过nsclient监控windows主机

    nagios通过nsclient监控windows主机 1.下载NSClient -0.3.8-Win32.rar安装在需要被监控的windows主机中 可以设置密码,此处密码留空 2.通过在nagi ...