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

#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;
}
1383

被折叠的 条评论
为什么被折叠?



