Euler Zigzag Number什么的太神啦
推导:http://blog.csdn.net/vmurder/article/details/44604275
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=5005;
int n,P;
int f[2][N];
int main()
{
freopen("t.in","r",stdin);
freopen("t.out","w",stdout);
int t=1;
scanf("%d%d",&n,&P);
f[0][1]=1;
for(int i=2;i<=n;i++,t^=1)
for(int j=1;j<=n;j++)
f[t][j]=(f[t][j-1]+f[t^1][i-j])%P;
n==1?printf("1\n"):printf("%d\n",(f[t^1][n]<<1)%P);
return 0;
}