poj 1363 Rails
来源:互联网 发布:sql 第几次出现 编辑:程序博客网 时间:2024/04/18 17:13
栈实现火车进站,出站。注意输入输出格式。
#include <iostream>using namespace std;#define MAX 1001#define STACK_ININ_SIZE 100#define STACK_INCREAMT 10typedef struct stack{int stacksize;int *base;int *top;}stack;void InitStack(stack &s){ s.base = (int *)malloc(STACK_ININ_SIZE*sizeof(int));s.top = s.base;s.stacksize = STACK_ININ_SIZE;}void Pop(stack &s){if (s.base == s.top)return;s.top--;}void Push(stack &s, int n){if (s.top-s.base>=s.stacksize){s.base = (int *)realloc(s.base, (s.stacksize+STACK_INCREAMT)*sizeof(int));s.top = s.base + s.stacksize;s.stacksize += STACK_INCREAMT;}*s.top = n;s.top++;}int IsEmpty(stack &s){if (s.base == s.top)return 1;elsereturn 0;}stack s;int main(){ int num, i, j, flag;int ch[MAX];flag = 0; while (cin>>num && num){if (flag==1)cout<<endl; flag = 1;while (1){cin>>ch[1];if (ch[1]==0)break;for (i=2; i<=num; i++)cin>>ch[i];InitStack(s);j = 1;for (i=1; i<=num; i++){Push(s, i);while (!IsEmpty(s)){if (*(s.top-1)==ch[j]){Pop(s);j++;}elsebreak;}}if (IsEmpty(s))cout<<"Yes"<<endl;elsecout<<"No"<<endl;}}return 0;}
- Poj 1363 Rails
- 【poj】1363-Rails
- POJ 1363 Rails
- [poj] 1363 Rails
- poj 1363(Stack ) Rails
- poj,1363,Rails
- poj-1363-Rails(栈)
- poj 1363 Rails
- poj 1363 Rails
- poj 1363 Rails
- POJ - 1363 Rails
- POJ 1363 Rails
- poj-1363-rails
- [置顶]poj-1363Rails
- POJ-1363 Rails
- POJ 1363 Rails
- OpenJudg / Poj 1363 Rails
- POJ 1363 Rails
- 用C语言实现的话,哪种写法更好呢?
- excel2007边距转换(C#)
- 探索Google App Engine背后的奥秘(6)- 总结
- 在 VMware 中安装并破解 ACS 5.2
- 浴室装修,讲舒适也讲安全
- poj 1363 Rails
- Background:rgba()
- Input 分析
- substring 的变异--jdk版本差异
- python学习十:copy模块、collections模块中的defaultdict、pydiction完成在vim中tab补全
- 全面解读WM_NOTIFY & 消息反射
- db2关于with递归使用
- win7搭建svn服务
- lock语句的递归问题