UVA - 514 Rails 经典栈使用
来源:互联网 发布:js设置button颜色 编辑:程序博客网 时间:2024/05/17 04:13
题目大意:有一列n节车厢的火车要入栈,车厢从1到n,只能从小到大入栈。
现在给出一个出栈顺序,问能否实现
解题思路:如果栈顶元素大于要出栈的数,肯定就不能实现了。
如果栈顶元素小于要出栈的数,就继续入栈
如果栈定元素等于要出栈的数,就出栈
#include<cstdio>#include<algorithm>#include<stack>using namespace std;#define maxn 1010int num[maxn], n;void solve() { bool flag = true; int cnt = 2; stack<int> S; S.push(1); for(int i = 0; i < n; i++) { if(S.empty()) { if(cnt == n + 1) { flag = false; break; } S.push(cnt); cnt++; } if(num[i] > S.top()) { S.push(cnt); cnt++; i--; } else if(num[i] == S.top()){ S.pop(); } else { flag = false; break; } } if(!flag) printf("No\n"); else printf("Yes\n");}int main() { while(scanf("%d", &n) == 1 && n) { int t, x; while(1){ scanf("%d", &num[0]); if(!num[0]) break; for(int i = 1; i < n; i++) scanf("%d", &num[i]); solve(); } printf("\n"); } return 0;}
0 0
- UVA - 514 Rails 经典栈使用
- UVa 514 Rails(经典栈)
- UVa 514 Rails(经典栈)
- 算法竞赛入门经典 UVa 514 Rails
- uva 514 - Rails(栈)
- UVa 514 Rails(栈)
- UVA - 514 Rails(栈)
- UVA 514 Rails 栈
- UVa 514 Rails(栈)
- UVA-514Rails(栈)
- Uva 514 Rails 栈,stack
- UVa 514 Rails(模拟栈)
- UVA 514 Rails(栈)
- UVa 514 - Rails【栈+格式】
- UVa - 514 Rails(栈模拟)
- UVA 514 Rails(栈)
- UVa - 514 - Rails(栈-stack)
- uva-514-Rails(栈)
- Win32 LoadLibrary 失败的2种可能原因
- Spring batch笔记
- CSS+DIV 设计的页面,在除了chrome、360浏览器外, 没有滚动条 不能下拉
- 黑马程序员——java基础知识之泛型、集合(Map、工具类等)
- Autoencoder
- UVA - 514 Rails 经典栈使用
- poj1861Network(最小生成树-克鲁斯卡尔算法)
- 用户态内核态通信 (一)
- NVMe设备命令大小限制
- 简单的传球游戏(矩阵)
- 对于校庆网站开发及上线的思考
- 动手实现 数据结构 之 “十字链表”
- MongoDB HTTP Interfaces
- ubuntu下搭建tftp服务器