UVa 699 The Falling Leaves
1
#include <stdio.h>
2 #include
<stdlib.h>
3 #include
<iostream>
4 #include
<string.h>
5 #include
<algorithm>
6 using
namespace std;
7 int leaf[100]={0};
8 bool read(int mid)
9 {
10 int tmp;
11 cin>>tmp;
12 if(tmp==-1) return false;
13 else
14 {
15 leaf[mid]+=tmp;
16 read(mid-1);
17 read(mid+1);
18 }
19 return true;
20 }
21 int main()
22 {
23 int cas=1;
24 while(1)
25 {
26 memset(leaf,0,sizeof(leaf));
27 int mid=50;
28 if(read(mid)==false) break;
29 else
30 {
31 int left=0,right=0;
32 for(int i=0;i<=mid;i++)
33 {
34
if(leaf[i]!=0) {left=i;break;}
35 }
36 for(int i=99;i>=mid;i--)
37 {
38
if(leaf[i]!=0) {right=i;break;}
39 }
40
printf("Case
%d:\n",cas++);
41 for(int i=left;i<=right;i++)
42 {
43
printf("%d",leaf[i]);
44
if(i!=right) printf(" ");
45 }
46
printf("\n\n");
47 }
48 }
49 return 0;
50 }
留言
張貼留言