uva 112

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

 

寻找是否存在某个从根到叶子的路程和等于某个数值,看了好多人写的,汇总整理了下写了个递归的方法,PKU上1145提交能够AC,UVA上怎么都不行。。后来发现有人给的case里有负数,而且符号和数字之间还有空格。。。蛋疼地增加了处理还是不AC, UVA toolkit上试了几组数据,发现好像有问题,就不折腾了。

 


uva 112
 

 

#include<stdio.h>

int sum(int n) {
	int m,ret;
	if(scanf(" (%d",&m)){
		ret=sum(n-m)+sum(n-m);
		if(ret<2)
			ret=0;
	}
	else{
		if(n==0)
			ret=1;
		else
			ret=0;
	}
	scanf(" )");
	return ret;

}

int main() {
/*	setbuf(stdout,NULL);*/
	int n;
	while (scanf("%d", &n) != EOF) {
		printf("%s\n", sum(n) >= 2 ? "yes" : "no");
	}
	return 0;
}