这个代码没有记忆化搜索和动态规划但是得了 80 分
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,a,b,c;
int dfs(int i){
if(i<=c)return 1;
return dfs(i-a)+dfs(i-b);
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>a>>b>>c;
cout<<dfs(n);
return 0;
}
时间复杂度 O(2min(a,b)n−c)甚至最坏O(2n)能得 80 分
通过记录