写的是P3807
#include <iostream>
#define int long long
using namespace std;
int p;
int j(int x){
int ans=1;
for(int i=1;i<=x;i++) ans*=i;
return ans;
}
int ec(int n,int m){
return (int)(j(n))/(j(n-m)*j(m));
}
int c(int n,int m){
if(m==0||n==m) return 1;
if(n<5e4) return ec(n,m);
return c((int)n/p,(int)m/p)*c(n%p,m%p)%p;
}
signed main(){
int n,m;
int T;
cin>>T;
while(T--){
cin>>n>>m>>p;
cout<<c(n+m,m)<<endl;}
}
显示floating point exception