首页 > 其他分享 >UVA 514-Rails

UVA 514-Rails

时间:2022-12-20 19:55:23浏览次数:56  
标签:出栈 入栈 int Rails 坑点 序列 UVA 514 指针

原题Vjudge

题目大意

给定一个入栈序列\([1,2,3....,n]\),判断出栈序列\([a_{1},a_{2}.....a_{n}]\)是否合法

解题思路

这道题目我们可以用一个栈与双指针结合的算法
我们设立一个指针\(j\),一开始指向的是\(a_{1}\),也就是\(j\)的初始值为\(1\)
然后我们把\(1 \sim n\)依次入栈,在入栈的过程中如果发现此时栈顶为\(a_{j}\),那就弹出栈顶,表示\(a_{j}\)顺利出栈,并将\(j\)指针后移一位(\(j++\))
到最后我们判断一下栈内是否有剩余元素,以及\(a\)序列是否全部出栈
如果满足,输出\(Yes\),反之输出\(No\)

坑点

UVa最著名的坑点就是它的输入输出
记得每个\(n\)的序列判断结束后,最后要输出个空行

代码

#include <iostream>
#include <stack>

using namespace std;

const int N = 1010;
int n, a[N];

int main()
{
    while (scanf("%d", &n), n) 
    {
        while (scanf("%d", &a[1]), a[1]) 
        {
            for (int i = 2; i <= n; i ++ ) 
                scanf("%d", &a[i]);
            
            stack<int> Rail; int j = 1;
            for (int i = 1; i <= n; i ++ ) 
            {
                Rail.push(i);
                while (!Rail.empty() && Rail.top() == a[j]) { Rail.pop(); j ++ ; }
            }
            puts(Rail.empty() && j == n + 1 ? "Yes" : "No");
        }
        puts("");
    }
}

Accepted!

标签:出栈,入栈,int,Rails,坑点,序列,UVA,514,指针
From: https://www.cnblogs.com/StkOvflow/p/16994976.html

相关文章

  • UVA1615 高速公路 Highway
    #include<iostream>#include<cmath>#include<algorithm>#include<cstdio>usingnamespacestd;typedeflonglongll;typedefdoubledb;constdbeps=1e-4......
  • UVA1398 Meteor
    每颗流星经过框的时间用一个左开右开的开区间来表示,然后就是简单的求最大区间覆盖问题了。其中求开区间的方法很巧妙,可以节省一些代码量。#include<iostream>#include......
  • grails的controller和action那点事---远程调试groovy代码
     最近由于项目需要,用到了grails,这玩意确实好用,生产率高有类型python的速度与简洁。仅第一印象,用的还不深入,说的不对请轻拍。遇到的几个问题:1.groovy远程调试玩Java的应该......
  • UVA1343 旋转游戏 The Rotation Game
    #include<iostream>#include<string>#include<algorithm>#include<cstring>usingnamespacestd;constintread[25][2]={ {0,0}, {1,3},......
  • 洛谷 P5143 攀爬者 题解
    原题链接P5143攀爬者解析内心OS第一眼看上去:他**滴,这么离谱的公式,这还是正常的橙题吗?1分钟后······这么简单的题,还好意思当橙题?(请忽略上方内容)......
  • ORA-12514 监听程序当前无法识别连接描述符中请求
    问题描述:在安装完数据库后,无法进行正常连接,提示ORA-12514错误,环境为WindowsServer2008R2+Oracle11.2.0.4,之前安装11.2.0.1的时候没有遇到这个问题,不清楚是否和版本有关。......
  • 程序设计基础实验课 单元六的题-UVA10410 TreeReconstruction 树重建
    入门指南题面:  洛谷题面:   观看的题解:https://www.cnblogs.com/jerryRey/p/4622927.html  对样例区样例画的一些图:       题目的一些争议......
  • UVALive 2038 Strategic game--树形dp
    原题链接:​​http://vjudge.net/problem/UVALive-2038​​题意:一棵树,n个点,0为根,求最少的点可以覆盖所有边。分析:dp[u][0]表示u点不选;dp[u][1]表示该点选择。#defin......
  • UVALive 4015 Caves--树形dp
    原题链接:​​http://vjudge.net/problem/UVALive-4015​​题意:n个部落,编号0到n-1,n-1条路连接n个部落,连成一棵树,机器人从树根出发,问在最多走x米最多经过多少部落。分析:dp[i......
  • UVA 10859 Placing Lampposts--树形dp
    原题链接:​​http://vjudge.net/problem/UVA-10859​​题意:给一个N个点M条边的无向无环图,就是树的意思,每个节点都可以放灯。每盏灯将照亮以它为一个端点的所有边,在所有边都......