UVa 1645Count

来源:互联网 发布:java super.m = 10 编辑:程序博客网 时间:2024/05/29 07:49

        题意:输入n,统计有多少个n个结点的有根树,使得每个深度中所有结点的子结点数相同。结果模1000000007。

        思路:递推。根据题意,每个结点的每个子树都是相同的。所以n结果为n-1的所有约数的结果加起来。


#include <iostream>  #include <stdio.h>  #include <cmath>  #include <algorithm>  #include <iomanip>  #include <cstdlib>  #include <string>  #include <memory.h>  #include <vector>  #include <queue>  #include <stack>  #include <map>#include <set>#include <ctype.h>  #include<time.h>#define INF 1000000using namespace std;int ans[1010];int main(){memset(ans,0,sizeof(ans));ans[1]=1;for(int i=2;i<=1000;i++){for(int j=1;j<i;j++){if((i-1)%j==0){ans[i]+=ans[j];ans[i]%=1000000007;}}}int n;int _case=0;while(cin>>n){_case++;printf("Case %d: %d\n",_case,ans[n]);}return 0;}


0 0
原创粉丝点击