1 solutions

  • 0
    @ 2025-11-27 11:59:02

    C++ :

    #include <iostream>
    using namespace std;
    
    const int mod=1000000007;
    
    int n,a,b,c;
    int jiyi[200010];   //顾名思义,记忆化数组
    
    int baosou(int dangqiann)   //求n为dangqiann时有多少种操作序列
    {
    	if(dangqiann<=c)
    	{
    		return 1;
    	}
    	if(jiyi[dangqiann])
    	{
    		return jiyi[dangqiann];
    	}
    	return jiyi[dangqiann]=(baosou(dangqiann-a)+baosou(dangqiann-b))%mod;
    }
    
    int main()
    {
    	cin>>n>>a>>b>>c;
    	cout<<baosou(n);
    	return 0;
    }
    
    • 1

    Information

    ID
    116
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By