首页 > 其他 > 详细

Gym 100090D Insomnia

时间:2017-04-09 23:36:07      阅读:211      评论:0      收藏:0      [点我收藏+]

技术分享

从 n 变到 1,有多少种方案?

打表记忆化。

技术分享
 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 int n;
 6 int dp[1000005];
 7 int dfs(int n) {
 8     if(n==1)
 9         return 1;
10     if(dp[n]>0)
11         return dp[n];
12     int cnt=0;
13     for(int i=2;i<=n;i++) {
14         if(n%i==0)
15             cnt+=dfs(n/i);
16     }
17     return dp[n]=cnt;
18 }
19 
20 int main()
21 {
22     memset(dp,0,sizeof(dp));
23     scanf("%d",&n);
24     printf("%d\n",dfs(n));
25 
26     return 0;
27 }
View Code

 

Gym 100090D Insomnia

原文:http://www.cnblogs.com/TreeDream/p/6686863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!