博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA514 Rails 栈初步..
阅读量:4143 次
发布时间:2019-05-25

本文共 1199 字,大约阅读时间需要 3 分钟。

下面代码初始化好像是错的

//辣鸡代码....自己写的别看了//可怕 的	一点:不要根据数据找规律.....//而是要模拟代码的实现过程.. 比如这个是入栈的过程,不妨让计算机跑一次!!!而不是我第一遍代码发现变小就是压进去,变小就 是移出来 //这样实现起来也特别麻烦..又比如说上午那个1/2 ,用枚举是访问遍历每个x,而不是找找什么规律谁比谁大//↑效率就低了而且拔毛什么的 又要特判了吧 //尤其是你自己又是n+1又是什么的就该觉得要换方向了 #include
#include
using namespace std;int target[1005];int main(){ int n; while (cin >> n&&n != 0){ stack
s; int a = 1, b = 1; ///以及.... 这个从1开始的序列怎么用,最开始想用a[i]=i?怎么记录?是用0 还是-1? //实际上直接和A关联起来的A++就能解决了= =.. 既能代表那个序列,也能记录是否被访问 while (1){ cin >> target[1]; if (target[1] == 0)break; for (int i = 2; i <= n; i++) cin >> target[i]; bool q = true; while (b <= n) { if (a == target[b])//这个就是直接溜出来了 { a++;//回合数加一,target也加,符合条件了.. b++; } //对于一个元素,除了push进去,就是直接溜出来,所以溜出来的话和a相等诶.. a就相当于第几回合(过程 else if (!s.empty()&&s.top() == target[b] )//栈里面有元素->已经有被压进来的了,可以输出了-> //如果栈顶 的元素正好是你想要的那个->【栈如果是空的找top,很可怕。。。。】 { s.pop(); b++;//b++就是target 里面又 有了一个符合的,可以继续往回检验了,a }//每个target[b]都会问到 else if (a <= n) { s.push(a); a++;//对于a 没溜出来,就压进去 } else { q = false; break; } } if (!q)cout << "No" << endl; else cout << "Yes" << endl; //cout<
<

苏宁有毛病吧- -...心态炸了

不写了

转载地址:http://omuti.baihongyu.com/

你可能感兴趣的文章
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>
我在网易做了6年前端,想给求职者4条建议
查看>>
SQL1015N The database is in an inconsistent state. SQLSTATE=55025
查看>>
RQP-DEF-0177
查看>>
MySQL字段类型的选择与MySQL的查询效率
查看>>
Java的Properties配置文件用法【续】
查看>>
JAVA操作properties文件的代码实例
查看>>
IPS开发手记【一】
查看>>
Java通用字符处理类
查看>>
文件上传时生成“日期+随机数”式文件名前缀的Java代码
查看>>
Java代码检查工具Checkstyle常见输出结果
查看>>
北京十大情人分手圣地
查看>>
Android自动关机代码
查看>>