ZOJ 1539(Lot)

来源:互联网 发布:淘宝beats是真的吗 编辑:程序博客网 时间:2024/05/05 13:45
题意:N个士兵,奇数或偶数占一行,一直这样分直到人数<=3,看人数恰等于3的有几组,即找3

     12           10         4
     /  \             /  \       / \
   6    6       5    5     2  2
   / \    / \      /  \   / \
 3  3  3  3  2  3 2 3
 共四个3   共2个3    0个3

主要思想是f[1]=f[2]=0,f[3]=1;f[i>3]=f[i/2]+f[i-i/2];

刚开是CE是因为加了//

#include<stdio.h>#include<stdlib.h>long find(long N){long num;    if(N==1||N==2)    num=0;else if(N==3){num=1;}else {num=find(N/2)+find(N-N/2);}return num;}int main(){long N,sum;while(scanf("%ld",&N)!=EOF){sum=find(N);printf("%ld\n",sum);}return 0;}


原创粉丝点击