1 solutions

  • 5
    @ 2024-3-30 23:32:03
    #include<iostream>
    using namespace std;
    const int N=45,SUM=785;
    long long dp[SUM],n,sum;
    int main()
    {
    	cin>>n;
    	sum=(1+n)*n/2; 
    	if (sum&1)
    	{
    		cout<<0;
    		return 0; 
    	}
    	sum/=2; dp[0]=1;  
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=sum;j>=0;j--)
    		{
    			if (j>=i) dp[j]+=dp[j-i];  
    		}
    	}
    	cout<<dp[sum]/2; 
    	return 0;
    }
    
    • 1

    Information

    ID
    1039
    Time
    1000ms
    Memory
    125MiB
    Difficulty
    7
    Tags
    # Submissions
    33
    Accepted
    8
    Uploaded By