uva 699

来源:互联网 发布:土豆客户端mac版 编辑:程序博客网 时间:2024/05/16 10:59

题意:求同一垂直线的和,数组模拟,递归模拟这个过程

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 110;int a[MAXN];void dfs(int mid,int n,int *a){    if ( n != -1)    {        a[mid] += n ;        scanf("%d",&n);        dfs(mid-1,n,a);        scanf("%d",&n);        dfs(mid+1,n,a);    }}int main(){    int i,j,mid,cnt=1;    int left,right,n;    while (scanf("%d",&n) != EOF && n >= 0)    {        memset(a,0,sizeof(a));        mid = 50 ;        dfs(mid,n,a);        printf("Case %d:\n",cnt++);        left = 0 ,right = MAXN;        while (!a[left])            left++;        while (!a[right])            right--;        for ( i = left ; i <= right ; i++)        {            printf("%d",a[i]);            if (i != right)                printf(" ");        }        printf("\n\n");    }    return 0;}



原创粉丝点击