tyvj P4879骰子游戏-美国70分

时间:2023-03-09 05:17:28
tyvj P4879骰子游戏-美国70分

需要FFT优化。。。

#include<iostream>
#include<cstdio>
#include<queue>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
int n,m,x,y;
const long long P=;
int f[][];
long long ans;
int main()
{
scanf("%d%d%d%d",&n,&m,&x,&y);
for(int i=,t;i<=m;i++)
{
scanf("%d",&t);
if(t==y) x--;
}
for(int i=;i<=m;i++)
f[][i]=1LL*(m-i+)%P*(m-i+)%P*(m-i+)%P*(m-i+)%P*%P; for(int i=;i<=n;i++)
for(int j=;j<=i*m;j++)
for(int k=;k<=min(j,m);k++)
f[i][j]=(f[i][j]+1LL*f[i-][j-k]*f[][k]%P)%P; for(int i=x;i<=n*m;i++)
ans=(ans+f[n][i])%P;
cout<<ans;
return ;
}