📄 aerolitesecret.txt
字号:
#include<stdio.h>
#include<string.h>
#define MaxL 11
#define MaxD 31
#define Mod 11380
int l1,l2,l3,nd;
long g[MaxL][MaxL][MaxL][MaxD];
void search()
{ int a,b,c,d;
register i,j,k;
long ans,tmp;
g[0][0][0][0]=1;
for (d=1; d<=nd; d++)
for (a=0; a<=l1; a++)
for (b=0; b<=l2; b++)
for (c=0; c<=l3; c++)
{if (a+b+c==0) {g[a][b][c][d]=1; continue;}
ans=0;
for (i=1; i<=a; i++)
for (j=0; j<=b; j++,ans%=Mod)
for (k=0; k<=c; k++)
{tmp=g[a-i][b-j][c-k][d]*g[i-1][j][k][d-1];
ans=(ans+tmp);
}
for (j=1; j<=b; j++,ans%=Mod)
for (k=0; k<=c; k++)
{tmp=g[a][b-j][c-k][d]*g[0][j-1][k][d-1];
ans=(ans+tmp);
}
for (k=1; k<=c; k++)
{tmp=g[a][b][c-k][d]*g[0][0][k-1][d-1];
ans=(ans+tmp);
}
g[a][b][c][d]=ans%Mod;
}
}
int main()
{scanf("%d %d %d %d",&l1,&l2,&l3,&nd);
memset(g,0,sizeof(g));
search();
if (nd==0) printf("%ld\n",g[l1][l2][l3][nd]%Mod);
else printf("%ld\n",(g[l1][l2][l3][nd]+Mod-g[l1][l2][l3][nd-1])%Mod);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -