■
さてと前回のコードには少し無駄があるので削りましょう。
二箇所削って124Bです。
z,x,k;p(n){ scanf(" (%d",&x)?k=2,p(n-=x),p(n):--k|n||++z;scanf(" )");} main(){for(;~scanf("%d",&x);z=puts(z?"yes":"no"))p(x);}
末端の条件は数字が来た後2連でnilが来たときという定義にしています。
こういう変な定義にしたのは通常の方法だとreturn x;と書くと9byteも使ってしまうからです。
ちなみに典型的に普通のやつだと以下のようになるでしょう。
x;p(n){x= scanf(" (%d",&x)?n-=x,p(n)+p(n)&~1:!n;scanf(" )");return x;} main(){for(;~scanf("%d",&x);puts(p(x)>1?"yes":"no"));}
これで123byte 。
......ってアレー? こっちのほうが短いじゃん。