蒟蒻求救
查看原帖
蒟蒻求救
287355
1lgorithm楼主2020/10/31 08:30

这段代码自己试没有错误,但是交到洛谷上就只得了50分

代码:

#include<iostream>
using namespace std;
#define ll long long
ll f[1000001]={1};
ll qpmod(ll a,ll b,ll p){
	ll ans=1;
	while(b){
		if(b&1){
			ans=ans*a%p;
		}
		b>>=1;
		a=a*a%p;
	}
	return ans;
} 
ll z(ll mod){
	for(ll i=1;i<=mod;i++){
		f[i]=f[i-1]*i%mod;
	}
}
ll ni(ll x,ll p){
	return qpmod(x,p-2,p);
}
ll C(ll m,ll n,ll p){
	if(n==0) return 1;
	if(n==1) return m;
	if(m<n) return 0;
	if(m>p||n>p) return C(m/p,n/p,p)*C(m%p,n%p,p)%p;
	return f[m]*ni(f[n]*f[m-n]%p,p)%p;
}
int main(){
	ll a,b,k,m,n;
	cin>>a>>b>>k>>m>>n;
	ll p=10007;
	z(p);
	cout<<qpmod(a%p,k%(p-1),p)*qpmod(b%p,k%(p-1),p)%p*C(k,n,p)%p;
}
2020/10/31 08:30
加载中...