【例题 6-10 UVA - 699】The Falling Leaves

【链接】 我是链接,点我呀:)
【题意】

在这里输入题意

【题解】

递归模拟就好。

【代码】

#include <bits/stdc++.h>
using namespace std;

const int MAXN = 1e5;

int n,cnt;
map <int,int> dic;

void dfs(int x,int val){
    if (val==-1) return;
	dic[x]+=val;
	int temp;
	scanf("%d",&temp);
	dfs(x-1,temp);

	scanf("%d",&temp);
	dfs(x+1,temp);
}

int main(){
	//freopen("rush.txt","r",stdin);
	int kase = 0;
	while (~scanf("%d",&n) && n!=-1){
	    printf("Case %d:\n",++kase);
		cnt = 1;
		dfs(1,n);	
		map<int,int>::iterator it;
		for (it = dic.begin();it != dic.end();it++){
			if ( (it)!=dic.begin()) putchar(' ');
			printf("%d",(*it).second);
		}	
		puts("");
		puts("");
		dic.clear();
	}
	return 0;
}
posted @ 2017-10-21 09:27  AWCXV  阅读(144)  评论(0编辑  收藏  举报