CF414B Mashmokh and ACM

#include<bits/stdc++.h>
using namespace std;
int n,k,vis[2020][2020];
int  dfs(int last,int num){
    if(vis[last][num])return vis[last][num];
    if(num>k){
        return 1;
    }
    int tot=0;
    for(int i=1;i*last<=n;i++){
        tot=(tot+dfs(i*last,num+1))%1000000007;
    }
    vis[last][num]=tot;
    return tot;
}
int main(){
    scanf("%d%d",&n,&k);
    printf("%d",dfs(1,1)%1000000007);
    return 0;
}

 

posted @ 2021-08-25 08:37  LinkWish  阅读(31)  评论(0)    收藏  举报