uva 514 Rails

简介: 点击打开链接uva 514 思路: 栈模拟 分析: 1 题目给定一个不变的入栈的顺序1~n,然后再给出一个序列问是否是一个满足条件的出栈顺序 2 每一个case后面输出空行,直接去模拟栈即可 代码: #include#include...

点击打开链接uva 514

思路: 栈模拟
分析:
1 题目给定一个不变的入栈的顺序1~n,然后再给出一个序列问是否是一个满足条件的出栈顺序
2 每一个case后面输出空行,直接去模拟栈即可

代码:

#include<stack>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

const int MAXN = 1010;

int n , num[MAXN];
stack<int>stk;

bool isOk(){
    while(!stk.empty())
        stk.pop();
    int i , j;
    i = j = 1;
    while(j <= n){
         if(i < num[j]){
             stk.push(i++);
         }
         else if(i == num[j]){
             i++;
             j++;
         }
         else if(!stk.empty()){
             if(stk.top() != num[j])
                 return false;
             stk.pop();
             j++;
         }
    }
    return true;
}

int main(){
    int x;
    bool first = true;
    while(scanf("%d" , &n) && n){
         while(scanf("%d" , &num[1]) && num[1]){
              for(int i = 2 ; i <= n ; i++) 
                  scanf("%d" , &num[i]); 
              printf("%s\n" , isOk() ? "Yes" : "No");
         } 
         puts("");
    } 
    return 0;
}



目录
相关文章
|
6月前
BUUCTF-PWN-WP
BUUCTF-PWN-WP
22 2
|
8月前
|
XML 数据格式
bugku-眼见非实-wp
bugku-眼见非实-wp
|
8月前
UVa11876 - N + NOD (N)
UVa11876 - N + NOD (N)
39 0
|
开发工具 git
gitbook docs 序言
gitbook docs 序言
|
Ruby 机器学习/深度学习
|
JavaScript 开发工具 git
Brackets 下配置git教程
Brackets是Adobe 开发的一个开源的、跨平台编码编辑器、简洁强大的HTML、CSS和JavaScript集成开发环境,下面主要介绍Brackets的git安装和设置。 Brackets的官方下载地址http://brackets.io/ 1、Brackets默认语言为英语,官方也集成了中文语言设置。 安装完成后菜单Debug(调试)-&gt;Switch langu
1720 0
|
Java Linux
sourceinsight - imsoft.cnblogs
显示空格的问题,options->document options->visible space 前面的对勾去掉就好了     sourceinsight中文显示乱码问题彻底解决办法:http://blog.sina.com.cn/s/blog_4e7453df0101ijch.html把下面代码做成批处理.bat文件,把源码目录拷贝到“E:\tmp\tmp”运行即可。
1721 0
|
数据安全/隐私保护 Ruby 容器
Ruby on Rails Tutorial读书笔记-1
只是怕忘了命令,全部撸一次,记个大概。。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~   安装Ruby之前,先要安装RVM:   curl -L https://get.rvm.
944 0