uva 11111 - Generalized Matrioshkas
来源:互联网 发布:哑铃锻炼软件下载 编辑:程序博客网 时间:2024/06/05 03:50
这个题意难懂,看了好多遍
就是有一个可以嵌套娃娃的娃娃,然后嵌套在里面的娃娃又可以继续嵌套娃娃。
然后要求直接嵌套在里面(内一层)的娃娃的尺寸大小之和不能超过外面的。 例如,-3 -2 2 3,代表有两层,-3和3表示一个嵌套(这个娃娃的尺寸大小为3,且负数一定要在左边先出现),里面时-2和2表示一个大小2的娃娃。 再比如-5 -2 2 -1 1 5,表示有3个娃娃,5嵌套这2和1。当有更多层的嵌套时,如-9 -7 -2 2 -3 -2 -1 1 2 3 7 9,表示9嵌套着7.然后7又嵌套着2(左边的-2,2)和3, 3又嵌套这2(右边出现的-2,2), 这个2又嵌套着1。 只要相邻的层次,内一层的大小相加起来小于(不能等于)外一层的大小就满足条件。
#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>#include <map>#include <vector>#include <set>#include <stack>using namespace std;#define N 10000001int a[N],cnt;int solve(){ stack<int> s,sum; for(int i = 0; i < cnt; i++) { if(a[i]<0) { if(s.size()>=1) { if(sum.top()<=abs(a[i])) return 0; int tmp = sum.top(); tmp-=abs(a[i]); sum.pop(); sum.push(tmp); } s.push(a[i]); sum.push(abs(a[i])); } else { if(s.empty()) return 0; if(abs(s.top())!=a[i]) return 0; s.pop(); sum.pop(); } } return 1;}int main(){ cnt = 0; int b;char c; while(~scanf("%d%c", &b, &c)) { a[cnt++] = b; if(c=='\n') { if(cnt%2) printf(":-( Try again.\n"); else { int flag = solve(); if(flag) printf(":-) Matrioshka!\n"); else printf(":-( Try again.\n"); } cnt = 0; } } return 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
- Oracle10G下表空间监控,增加下月表空间,分区表增加下月表分区
- TMS运输管理系统介绍
- lua第二版
- 利用NPOI开源的读写Excel、WORD等微软OLE2组件读写execl,控制样式或单元格
- 在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
- uva 11111 - Generalized Matrioshkas
- 使用gdbserver远程调试
- 飞思卡尔推出四款脚位相容的64位处理器
- redis 事件处理
- 从来没有一种工作叫钱多、事少、离家近(转)
- mastudio 使用webpage来获取输出网页
- ibatis的一些优点
- 第三章——分组密码
- GDB远程调试