UVa 11111 - Generalized Matrioshkas
来源:互联网 发布:彩票源码论坛php 编辑:程序博客网 时间:2024/06/05 10:31
这个题算是比较抽象的, 相当于“括号平衡”那个题的加强版,首先要用栈判断正负数字平衡,其次在判断每个(括号)里的直接套的那层正数(或是负数之和的绝对值)小于最外层数字 ~
代码如下:
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>int stack[10000],sum[10000]; // 需要用到两个数组,一个存括号内直接数字之和,另一个为数字栈int Num_Balance(int *a, int ct){ int i,top = 0; memset(stack,0,sizeof(stack)); memset(sum,0,sizeof(sum)); for(i=0; i < ct; i++) { if(a[i]<0) { sum[top] -= a[i]; // 将数字加到相应的范围内的和上(这里和下面的“ sum[top--] = 0;”的处理是比较难想的,花了点时间) stack[++top] = a[i]; //将数字压入栈内 } else { if(-stack[top] != a[i]) return 0; // 判断正负平衡 if(sum[top] >= a[i]) return 0; // 判断数字和 sum[top--] = 0; // 数字出栈相应位置的和归 0 } } return 1;}int main(){#ifdef state freopen("sample.txt","r",stdin);#endif int a[10000],num; while(scanf("%d",&num)!=EOF) { int ct = 0, flag = 0; char c; while(1) { a[ct++] = num; c=getchar(); if(c == '\n') break; scanf("%d",&num); } if(ct % 2) // 若数字个数为奇数,直接判断为“Try again”。 flag = 0; else flag = Num_Balance(a,ct); if(!flag) puts(":-( Try again."); else puts(":-) Matrioshka!"); } 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
- Java 文件流,正则表达式,HashMap
- UVa 705 - Slash Maze
- Maven无法正常下载快照Snapshots jar
- 30岁学android开发
- 一个游戏程序员的学习资料
- UVa 11111 - Generalized Matrioshkas
- UVa 10562 - Undraw the Trees
- 一些小功能的总结
- win7下安装ORACLE10g报错 未知错误
- UVa 729 - The Hamming Distance Problem
- UVa 10167 - Birthday Cake
- Spring的事务通知,2.0
- js实现页面打印
- 析构函数