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上试了几组数据,发现好像有问题,就不折腾了。
#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; }