UVa 699 - The Falling Leaves【递归】

来源:互联网 发布:java并发编程的例子 编辑:程序博客网 时间:2024/05/20 16:41

原题网址:

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=640


继续加油!就算写不出来这样精简的程序,也算涨涨知识了!


///什么时候才能掌握递归啊#include<stdio.h> #include<string.h>const int maxn=100005;int sum[maxn];void build(int p){int v;scanf("%d",&v);if(v==-1){return;}sum[p]+=v;build(p-1);build(p+1);}bool init(){int v;scanf("%d",&v);if(v==-1){return 0;}memset(sum,0,sizeof(sum));int pos=maxn/2;//从中间开始统计,以防溢出sum[pos]=v;build(pos-1);build(pos+1);} int main(){int kase=0;//freopen("shuju.txt","r",stdin);while(init()){int p=0;//输出的时候从最左边开始找...while(sum[p]==0){p++;}printf("Case %d:\n%d",++kase,sum[p++]);while(sum[p]!=0){printf(" %d",sum[p++]);}printf("\n\n");}return 0;}


0 0