求助,代码无法输出
查看原帖
求助,代码无法输出
124676
JimmyFlower楼主2020/12/6 16:33

Rt,会卡住

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ri register int
using namespace std;
const int L=11,D_=31;
const int MOD=11380;
int L1,L2,L3,D,f[L][L][L][D_];
int dp(int l1,int l2,int l3,int d)
{
    int &v=f[l1][l2][l3][d];
    if(v!=-1) return v;
    if(!l1&&!l2&&!l3) return v=!d?1:0;
    v=0;
    for(ri i=0;i<=l1-1;i++)
        for(ri j=0;j<=l2;j++)
            for(ri k=0;k<=l3;k++)
                v=(v+dp(i,j,k,d-1)*dp(l1-i-1,l2-j,l3-k,d)%MOD)%MOD;
    for(ri j=0;j<=l2-1;j++)
        for(ri k=0;k<=l3;k++)
            v=(v+dp(0,j,k,d-1)*dp(l1,l2-j-1,l3-k,d)%MOD)%MOD;
    for(ri k=0;k<=l3-1;l3++)
        v=(v+dp(0,0,k,d-1)*dp(l1,l2,l3-k-1,d)%MOD)%MOD;
    return v;
}
int main()
{
    scanf("%d %d %d %d",&L1,&L2,&L3,&D);
    memset(f,-1,sizeof(f));
    printf("%d",(dp(L1,L2,L3,D)-dp(L1,L2,L3,D-1)+MOD)%MOD);
    return 0;
}
2020/12/6 16:33
加载中...