3 solutions

  • 2
    @ 2025-3-27 10:41:51
    #include<bits/stdc++.h>
    using namespace std;
    int n,m;
    int dfs(int u,int sum,int last)
    {
        if(u==n)
        {
            if(sum==0) return 1;
            return 0;
        }
        int res=0;//当前总和
        for(int i=last;i<=sum;i++)
        {
            //当前的方案不需要记录
            res+=dfs(u+1,sum-i,i);
        }
        return res;
    }
    int main()
    {
        int t;
        cin>>t;
        while(t--)
        {
            cin>>m>>n;
            cout<<dfs(0,m,0)<<endl;//位置,剩余,上一个
        }
        
        return 0;
    }
    
    • 1
      @ 2025-3-21 16:47:57
      #include<bits/stdc++.h>
      using namespace std;
      int f(int m,int n) //m个苹果,n个盘子 
      {
      	if(m==0||n==1) return 1; //m==0表示恰好分完,n==1只有一个盘子 
      	if(m<n) return f(m,m); //m个苹果n个盘子,等价于m个苹果,m个盘子 
      	return f(m,n-1)+f(m-n,n);
      	//有一个空盘子,每个盘子至少一个苹果 
      }
      int main()
      {
      	int t;
      	cin>>t;
      	for(int i=1;i<=t;i++)
      	{
      		int m,n;
      		cin>>m>>n;
      		cout<<f(m,n)<<endl; 
      	}
      	return 0;
      }
      
      • 0
        @ 2026-3-30 18:39:29
        #include<bits/stdc++.h>
        using namespace std;
        int ans=0;
        void dfs(int m,int n,int minv)
        {
            if(m==0) //没有苹果了
            {
                ans++;
                return ;
            }
            if(n==0) //没有盘子了
            { 
                return ;
            }
            for(int i=minv;i<=m;i++) //枚举当前位置的苹果数量
            {
                dfs(m-i,n-1,i);
            }
        }
        int main()
        {
            int t;
            cin>>t;
            int n,m;
            while(t--)
            {
                cin>>m>>n;
                ans=0; //清空苹果数量
                dfs(m,n,1); 
                cout<<ans<<endl;
            }
            return 0;
        }
        
        • 1

        Information

        ID
        2121
        Time
        1000ms
        Memory
        128MiB
        Difficulty
        5
        Tags
        (None)
        # Submissions
        26
        Accepted
        8
        Uploaded By