UVA 11111 - Generalized Matrioshkas
来源:互联网 发布:遗传算法原理及应用 编辑:程序博客网 时间:2024/06/05 15:12
这道题目很简单,题意也很好理解~用到了栈来做,跟括号匹配的问题属于同一类问题。
不同之处在于,在这里需要多判一步看是不是内层的toy的size大于外层的size,如果大于,则是失败的。
RE许多次的原因不在于数组小,也不在于stack的位置,也不在于eof的不使用。
而是在于自己忽略了一种极端的情况:如果一开始就给了一个正数——那么stack本来就是空的,再要求stack往外弹,就会使程序崩溃。
在这里还是得谢谢川哥,是他帮我指出了这一点。
另外还教了我清空stack的办法~:
while(!k.empty()) k.pop();很简单,但我一直没用过。
希望自己也能多积累一些经验,可以像川哥一样敏锐的发现错误的原因所在。
#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>#include<stack>using namespace std;struct toy{ int Size; int vol;}a[100000];int main(){ int temp; char ch; int t=0;int flag=0; while(scanf("%d%c",&temp,&ch)!=EOF) { a[t].Size=temp; a[t++].vol=temp; if(ch=='\n') { flag=0; stack<toy>k; int i; for(i=0;i<t;i++) { if(a[0].Size>0) { flag=1; break; } if(i!=0&&k.size()==0) { flag=1; break; } if(a[i].Size<0) { if(i==0) { k.push(a[i]); } else { k.top().vol-=a[i].Size; if(k.top().vol>=0) { flag=1; break; } k.push(a[i]); } } else if(a[i].Size>0) { int tt=k.top().Size; if(a[i].Size+tt!=0) { flag=1; break; } else { k.pop(); continue; } } } int ttt=k.size(); if(ttt!=0) flag=1; if(flag==1) printf(":-( Try again.\n"); else printf(":-) Matrioshka!\n"); t=0; } } return 0;}
0 0
- uva 11111 - Generalized Matrioshkas
- UVa 11111 Generalized Matrioshkas
- uva 11111 - Generalized Matrioshkas
- uva 11111 - Generalized Matrioshkas
- UVa 11111 - Generalized Matrioshkas
- uva 11111 - Generalized Matrioshkas
- UVa 11111 - Generalized Matrioshkas
- UVA-11111-Generalized Matrioshkas
- uva 11111 - Generalized Matrioshkas
- uva-11111 Generalized Matrioshkas
- UVa 11111 - Generalized Matrioshkas
- UVA 11111 Generalized Matrioshkas
- uva 11111 Generalized Matrioshkas
- Generalized Matrioshkas UVA 11111
- UVa:11111 Generalized Matrioshkas
- UVa 11111 Generalized Matrioshkas
- UVA 11111 - Generalized Matrioshkas
- uva 11111 - Generalized Matrioshkas
- 关于 IOS 项目中出现的 Apple Mach-O Linker Error Group 的问题解决
- uva 10440 Ferry Loading II
- redis-安装
- 第1周:书中P162--【例7-6】
- xampp的安装和配置
- UVA 11111 - Generalized Matrioshkas
- 在win7下搭建opengles2.0编程环境
- PIC16F1503在HI-TECH PICCv9.82中的有一个头文件错误,TRISC未定义
- Spring整合struts2+Hibernate(续)
- 文件操作系统调用
- HDOJ 3485 Count 101
- 源程序Bwriter.java,从键盘输入一系列字符串,写入到某磁盘文件中
- 数组和指针参数是如何被编译器修改的
- ClassLoader