POJ 1363 栈
来源:互联网 发布:windows桌面便签 编辑:程序博客网 时间:2024/05/16 04:55
poj 1363 经典的火车进站
火车进站顺序为1,2,3.....n,给你n和一个长度为n的出站序列,问是否合法..
如果n是0结束程序,如果出站序列第一个是0要换n..
思路:数组模拟栈操作,对于当前出站的元素(开始为第一个),
_1如果是栈顶,出栈
_2如果是当前入栈元素,直接出栈
_3都不是如果还有未入栈元素,入栈
_4没有未入栈元素,序列不合法.
#include<stdio.h>int in[1005]; //入栈序列int out[1005]; //出栈序列int str[1005]; //模拟栈int main(){ int n,x,i; while(scanf("%d",&n)!=EOF){ int tp=0; //换n标志 if(n==0)break; //结束标志 while(1){ for(i=1;i<=n;i++){ scanf("%d",&out[i]); if(out[1]==0){ printf("\n"); tp=1;break; } } if(tp==1)break; for(i=1;i<=n;i++)in[i]=i; int intot=1,outtot=1,strtot=0,flag=0; str[0]=-1; while(1){ if(str[strtot]==out[outtot]){ strtot--,outtot++; //当前出栈元素是栈顶元素 }else if(in[intot]==out[outtot]&&intot<n+1){ //当前出栈元素是入栈元素 intot++,outtot++; }else if(intot<n+1){ //仍有未入栈元素, str[++strtot]=in[intot++]; }else{ if(outtot==n+1){ //出栈元素全部出栈完毕 flag=1; } break; } } if(flag)printf("Yes\n"); else printf("No\n"); } } return 0;}
- POJ 1363(栈)
- poj-1363-Rails(栈)
- POJ 1363 栈
- POJ 1363 : Rail - 栈
- poj 1363 Rails 【栈】
- 栈--POJ 1363
- POJ - 1363 - Rails(栈)
- POJ 1363(栈)
- poj 1363 Rails 【栈】
- POJ-1363 Rails (栈)
- POJ 1363Rails (栈)
- POJ 1363 Rails ( 栈
- POJ 1363|Rails|栈
- Poj-1363-Rails-栈
- POJ 1363-Rails 简单栈
- POJ 1363 Rails 模拟栈
- POJ 1363 Rails(模拟栈)
- poj 1363 Rails(栈)
- Sublime Text 2格式化插件安装
- java全排列实现
- 真正的单片机入门,是从学会处理多任务开始的(按键算法)
- 前端是硬伤
- smt防错料软件
- POJ 1363 栈
- 排序算法【温故而知新】
- java game 3小时370行的打飞机游戏(有图)
- 北京联通影响网站解决~ 61.135.22.*
- Struts2 国际化配置流程
- Android 编译大全
- linux下修改.bash_profile立即生效的三种方法
- Stanford Machine Learning -- 第四讲 Machine Learning System design
- Java基础之003-Java语法