出栈序列判定 网上一些代码虽然能AC但是有bug
2016-08-04 14:12
204 查看
比如输入
5
1 2 3 4 5
1
4 5 3 2 1
会输出 no
但应该输出yes
改善后的代码
5
1 2 3 4 5
1
4 5 3 2 1
会输出 no
但应该输出yes
改善后的代码
#include<stdio.h> #include<string.h> int a[10050]; int b[10050]; int c[10050]; int main() { int n,i; scanf("%d",&n); for(i=0;i<=n-1;i++) { scanf("%d",&a[i]); } int t; scanf("%d",&t); while(t--) { for(i=0;i<=n-1;i++) { scanf("%d",&b[i]); } //printf("*%d*\n",b[5]); int axia=0; int bxia=0; int cxia=0; while(bxia<=n-1) //出栈的顺序仍未完全符合 { if(a[axia]==b[bxia]) { axia++; bxia++; } else if(cxia-1>=0&&c[cxia-1]==b[bxia]) { while(c[cxia-1]==b[bxia]&&cxia-1>=0) //cxia-1>=0不能去掉 否则若c[cxia-1]和b[bxia]存储的数相等的话会使cxia的值减到小于0 //就会有点不符合常理了 { cxia--; bxia++; } } else if(axia<=n-1) { c[cxia++]=a[axia]; axia++; } else break; //c栈不为空,去掉会超时 } if(cxia==0) printf("yes\n"); else printf("no\n"); } }
相关文章推荐
- 杭电1248寒冰王座问题,对比网上代码,虽然AC了,但是代码太过复杂了
- UVA 10603 Fill(正确代码虽然很搓,网上许多代码都不能AC)
- wap获取手机号码,今天uc开启云加速,用公司的工具类获取是null,但是另外一个项目可以,应该这个项目的工具旧少了一些代码。。,网上找了 方法自己加可以
- 虽然动态创建DataGrid的代码在网上有很多,但是作为表单提交的时候却不多见?
- 网上收集来的一些代码
- 下载网上上一些电子版报纸的perl代码
- MyGeneration学习笔记(3) : dOOdads及生成代码的一些bug
- javascript的万能查询器根据网上一些朋友的代码个性后得到.
- WinForm 选项卡在左边(虽然可以直接设置但是文字错误方向,也许是VS2010的BUG)
- 网上收集到的一些小脚本代码
- 市面上所有号称"虚拟机","防火墙"的实时监控杀毒软件无一不是使用的IFSHOOK技术.但是同时也有一些朋友不断写MAIL给我打听如何实现读写的监控.下面给出用VTOOLSD写的代码.也就是所有实时杀毒软件的奥秘.同时,很多拦截文件操作的软件,例如对目录加
- 栈区,堆区,全局区,文字常量区,程序代码区 的一些解释(转自网上) 2011-12-9 15:03
- 因特网上Cookies是如何工作的(转),虽然不是讲.net,但是把cookiers的讲解非常清楚,可以让开发更好!
- 关于《基于汉明距离的LSH图像检索算法》代码的一些bug修正
- 记录一些经常忘记的CSS代码(CSS bug/hack 收集贴)
- .NET的一些但三方组件(虽然链接一些过期的,但是组件确实有些还是好用的,留给自己备忘了)
- [笔记]3.软件代码中的BUG问题的一些记录
- js 在网上找了一些加密的方法 (所有代码来的web)
- VSTS有Bug,分析数据库的维度和维度属性使用中文命名时候,作为报表参数会出错。虽然有解决办法但是头大。
- 收藏一些不常用,但是有用的代码