USACO-集合

#include<cstdio>
#include<iostream>
using namespace std;
long long f[400];
int main()
{
	long long n;
	scanf("%lld",&n);
	long long m=(n+1)*n/2;
	if(m%2==1)
	{
		printf("0
");
		return 0;
	} 
	m=m/2;
	f[0]=1;
	for(int i=1;i<=n;i++)
	{
		for(int j=m;j>=i;j--)
		{
			f[j]+=f[j-i];
		}
	}
	printf("%lld
",f[m]/2);
	return 0;
}
原文地址:https://www.cnblogs.com/ShineEternal/p/10991661.html