样例过了,全WA ,悬赏1关注
查看原帖
样例过了,全WA ,悬赏1关注
648756
Shadow_Lord楼主2023/8/14 09:54
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=9999973;
const int N=105;
inline int read()
{
    int s=0,w=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
    while(ch>='0'&&ch<='9')s=(s<<1)+(s<<3)+(ch^48),ch=getchar();
    return s*w;
}
int n,m,f[N][N][N],ans;
signed main()
{
    n=read();m=read();
    f[0][0][0]=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<=m;j++)
        {
            for(int k=0;k+j<=m;k++)
            {
                f[i][j][k]+=f[i-1][j][k];f[i][j][k]%=mod;
                
                if(k>=1)f[i][j][k]+=f[i-1][j+1][k-1]*(j+1);f[i][j][k]%=mod;

                if(j>=1)f[i][j][k]+=f[i-1][j-1][k]*(m-j+1-k);f[i][j][k]%=mod;

                if(k>=2)f[i][j][k]+=f[i-1][j+2][k-2]*((j+1)*(j+2)/2);f[i][j][k]%=mod;

                if(j>=2)f[i][j][k]+=f[i-1][j-2][k]*((m-j-k+1)/2*(m-j-k+2));f[i][j][k]%=mod;

                if(k>=1)f[i][j][k]+=f[i-1][j][k-1]*(m-j-k+1)*(j);f[i][j][k]%=mod;
            }
        }
    }
    for(int i=0;i<=m;i++)
    {
        for(int j=0;j+i<=m;j++)
        {
            ans+=f[n][i][j];ans%=mod;
        }
    }
    cout<<ans<<"\n";
    return 0;
}
2023/8/14 09:54
加载中...