铁轨(栈)
来源:互联网 发布:碧欧泉淘宝是正品吗 编辑:程序博客网 时间:2024/04/25 10:24
某城有一火车站,有n节车厢从A方向驶入车站,按进站顺序为1~n,要求:让它按照某种特定顺序进入B方向的铁轨并驶出车站。其中有一个中转站C,用来重组车厢。
方法一:
按照数组方式完成:
#include<stdio.h>#define MAXN 100+10int n,target[MAXN];int main(){int i;while(scanf("%d",&n)){int stack[MAXN];for(i=1;i<=n;i++){scanf("%d",&target[i]);}int A=1,B=1;int ok=1;int top=0;while(B<=n){if(A==target[B]){A++;B++;}else if(top&&stack[top]==target[B]) { top--; B++; } else if(A<=n) { stack[++top]=A++; } else { ok=0; break; } } printf("%s\n",ok?"Yes":"No");5 }return 0;}
方法二:
按照栈的方式:
#include<stdio.h>#include<stack> #include<algorithm>#define MAXN 1000+10int target[MAXN];using namespace std;int main(){ int n,i; while(scanf("%d",&n)) { stack<int> s; int A=1,B=1; for(i=1;i<=n;i++) { scanf("%d",&target[i]); } int ok=1; while(B<=n) { if(A==target[B]) { A++; B++; } else if(!s.empty() && s.top() == target[B] ) { s.top(); B++; } else if(A<=n) { s.push(A++); } else { ok=0; break; } } printf("%s\n",ok?"Yes":"No"); } return 0; }
0 0
- 铁轨(栈)
- Rails铁轨(栈)
- 铁轨-栈(stack)
- 栈(样列:铁轨)
- uva 514 铁轨(栈)
- UVa 514(栈)铁轨
- 铁轨问题(栈操作)
- 铁轨 栈
- 栈 铁轨
- 栈------铁轨
- 例题6-2 铁轨(栈)
- HDU1022(栈的入门)铁轨问题
- UVa 514 Rails(铁轨) 栈
- 【栈】铁轨问题
- 栈的应用-铁轨
- UVa514 Rails(铁轨)
- 铁轨(Rails) UVa514
- 铁轨(UVa 514)
- Android 多线程处理之多线程用法--线程池
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- linux挂载u盘或镜像文件语句
- 美国移民后到底有多自由疯狂?通过这几件小事就知道了
- 美国的文化习俗
- 铁轨(栈)
- 美国移民后到底有多自由疯狂?通过这几件小事就知道了
- delphi 按回车选中下一个控件
- Android 错误集锦及解决方案
- 给DataGridView 添加鼠标单击事件,并且在contexMenutstrip中显示,获取该行的主键
- GridView修改列标题HeaderText
- OpenWrt网页支持升级本地package
- ${param.id}的使用
- 美国移民后到底有多自由疯狂?通过这几件小事就知道了