求助,代码厌氧
查看原帖
求助,代码厌氧
663638
Butterfly_qwq楼主2023/12/19 17:52
#include<bits/stdc++.h>
#define int long long
using namespace std;
int jc[200005],ny[200005];
int qpow(int a,int x,int p)
{
	if(x==0)return 1;
	if(x==1)return a%p;
	int c=qpow(a,x/2,p),y=qpow(a,x%2,p);
	return c*y%p*c%p;
}
int inv(int a,int p)
{
	return qpow(a,p-2,p);
}
int c(int n,int m,int p)
{
	return jc[n]*ny[m]%p*ny[n-m]%p;
}
signed main()
{
	int t,n,m,p;
	cin>>t;
	while(t--)
	{
		cin>>n>>m>>p;
		n+=m;
		jc[0]=ny[0]=1;
		for(int i=1;i<=max(n,p);i++)
		{
			jc[i]=jc[i-1]*i%p;
			ny[i]=ny[i-1]*inv(i,p)%p;
		}
		cout<<c(n/p,m/p,p)*c(n%p,m%p,p)%p<<'\n';
	}
}

开O2全RE,不开O2 AC了

2023/12/19 17:52
加载中...