为什么照抄题解也能错啊?
  • 板块题目总版
  • 楼主zznomortypig
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/5/19 21:55
  • 上次更新2024/5/20 13:26:03
查看原帖
为什么照抄题解也能错啊?
1310634
zznomortypig楼主2024/5/19 21:55
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
long long n,m,k,A[maxn],C[maxn],a[maxn],p=998244353,ans=1;
long long inv(long long x,long long mod)
{
	long long res=1;
	while(mod)
	{
		if(mod&1) res=res*x%p;
			x=x*x%p;
			mod=mod/2;
	}
	return res;
}
long long c(long long x,long long y)
{
	if (x < 0 || y < 0 || x<y)return 0;
	return A[x]%p*C[y]%p*C[x-y]%p;
}
int main()
{
	scanf("%lld%lld%lld",&n,&m,&k);
	
	for(int i=1;i<=m;i++)
	{
		scanf("%lld",&a[i]);
	}
	A[0]=C[0]=1;
	for(int i=1;i<=n;i++)
	{	A[i]=A[i-1]*i%p;
		C[i]=C[i-1]*inv(i,p-2)%p;
	}
	for(int i=1;i<=m;i++)
	{	ans=ans*(c(n-k,a[i])%p*inv(c(n,k),p-2)%p)%p;
	printf("%lld\n",ans%p);
	}
	return 0;
}
2024/5/19 21:55
加载中...