思路:
懂¿
显然打表
好吧其实dp也是可以的
然后有个小规律是我打表时发现的
n * (n + 1) % 4 != 0 输出0
C o d e Code Code:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long n,f[2000];
int main()
{
scanf("%lld",&n);
int s = n * (n + 1);
if (s % 4 != 0)
{
printf("0");
return 0;
}
f[0] = 1;
s /= 4;
for (long long i = 1; i <= n; i++)
{
for (long long j = s; j >= i; j--)
f[j] += f[j - i];//dp
}
printf("%lld",f[s] / 2);
return 0;
}