家人们,这里怎么错了,显示没有生成可执行文件,本地编译正确的
#include<stdio.h>
#include<string.h>
#define ll long long
#define N 1001
#define mod 998244353
int n,a,b,c,d;
int C[N][N],pre[N][N];
inline int read(){
int x=0,f=1;
char ch=getchar();
while(ch<'0' || ch>'9'){
f=(ch=='-')?-1:1;
ch=getchar();
}
while(ch>='0' && ch<='9'){
x=(x<<3)+(x<<1)+(ch^48);
ch=getchar();
}
return x*f;
}
inline void dsadasdasd(void){
for(int i=0;i<N;++i){
C[i][0]=1;
for(int j=1;j<=i;++j){
C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;
if(C[i][j]>=mod) C[i][j]^=mod;
}
}
for(int i=0;i<N;++i){
pre[i][0]=1;
for(int j=1;j<N;++j){
pre[i][j]=(pre[i][j-1]+C[i][j])%mod;
if(pre[i][j]>=mod) pre[i][j]^=mod;
}
}
return;
}
inline ll sum(int x,int l,int r){
if(l>r) return 0;
if(l<=0) return pre[x][r];
ll res=(pre[x][r]-pre[x][l-1])%mod;
if(res<0) res+=mod;
return res;
}
ll now,ans;
int main(){
n=read(),a=read(),b=read(),c=read(),d=read();
dsadasdasd();
for(int i=0;i<=n && n-4*i>=0 && a-i>=0 && b-i>=0 && c-i>=0 && d-i>=0;++i){
now=0;
for(int j=0;j<=(n-4*i);++j){
now=(now+1LL*C[(n-4*i)][j]*sum(j,j-(b-i),a-i)%mod*sum((n-4*i)-j,(n-4*i)-j-(c-i),(d-i))%mod)%mod;
}
now=(now*C[n-3*i][i])%mod;
if(i&1) ans=(ans-now+mod)%mod;
else ans=(ans+now)%mod;
}
printf("%lld\n",ans);
return 0;
}