问题描述
输入格式
输出格式
输入样例
4 3
输出样例
13
数据规模与约定
2≤n≤50,2≤m≤5
CODE
#include<bits/stdc++.h>
using namespace std;
long long n,m,dp[55];
int main(){
cin>>n>>m;
dp[0]=1;
for(int i=1;i<m;i++) dp[i]=dp[i-1]*2;
dp[m]=dp[m-1]*2-1;
for(int i=m+1;i<=n;i++) dp[i]=dp[i-1]*2-dp[i-m-1];
cout<<dp[n];
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n,m;
long long dp[100];
int main(){
cin>>n>>m;
dp[0]=1;
for(int i=1;i<=n;i++){
if(i<m){
dp[i]=dp[i-1]*2;
}else if(i==m){
dp[i]=dp[i-1]*2-1;
}else{
dp[i]=dp[i-1]*2-dp[i-m-1];
}
}
cout<<dp[n]<<endl;
return 0;
}