#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <set>
#include <vector>
#include <algorithm>
#include <queue>
#include <math.h>
using namespace std;
int n;
int sum1,sum2,ans;
int totl=0;
void sdd(int s){
if(sum2==sum1){
ans++;
return;
}
if(sum2>sum1 || s==0)
return;
sum2=sum2+s;
sdd(s-1);
sum2=sum2-s;
sdd(s-1);
}
int main(){
ofstream fout ("subset.out");
ifstream fin ("subset.in");
fin>>n;
for(int i=1;i<=n;i++){
totl += i;
}
if(totl%2){
fout<<0<<endl;
return 0;
}else{
sum1=totl/2;
sum2=n;
sdd(n-1);
fout<<ans<<endl;
}
}
輸入數據爲31時超時,作個代碼的記錄