Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33190 李羽乔 【S】T1 C++ 解答错误 10 686 MS 1828 KB 787 2024-10-04 16:37:40

Tests(1/10):


#include<bits/stdc++.h> using namespace std; const int N = 510,M = 1e5+10,md = 998244353; int n,m; long long int inv[N+M],pre[N+M]; long long int quickpow(long long int x,int y){ long long int tot=1; while(y){ if(y&1) tot=tot%md*x%md; x=x%md*x%md; y=y>>1; } return tot; } long long int C(int x,int y){ return pre[x]%md*inv[y]%md*inv[x-y]%md; } int main(){ cin>>n>>m; pre[0]=1; for(int i=1;i<=n+m;i++){ pre[i]=pre[i-1]%md*i%md; } inv[n+m]=quickpow(pre[n+m],md-2); for(int i=n+m-1;i>=0;i--){ inv[i]=inv[i+1]%md*(i+1)%md; } long long int ANS=0; for(int i=0;i<=m;i++){ for(int j=0;j<=n;j++){ ANS=ANS+(2*m-2*i)%md*(2*m-2*i)%md*C(n+i-1,i)%md*C(n,j)%md*C(m-i-1,j-1)%md*C(n-j+m-i-1,m-i)%md; } } cout<<ANS<<endl; return 0; }


测评信息: