#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=10007; ll fac[1050]; ll q_pow(ll a,ll b) { ll ans=1; while(b) { if(b&1) ans=(ans*a)%mod; a=(a*a)%mod; b>>=1; } return ans; } int main() { fac[0]=1; for(int i=1;i<=1000;i++) //这部预处理可以实现优化 fac[i]=(fac[i-1]*i)%mod; ll a,b,c,k,e,f,g,ans; cin>>a>>b>>c>>k>>e>>f>>g; ans=q_pow(a,e)%mod; ans=ans*q_pow(b,f)%mod; ans=ans*q_pow(c,g)%mod; ans=ans*fac[k]*q_pow(fac[e],mod-2)%mod; ans=ans*q_pow(fac[f],mod-2)%mod*q_pow(fac[g],mod-2)%mod; cout<<ans<<endl; return 0; } // 3 2 1 4 1 2 1 // 144 // 3 2 1 4 1 2 1 // 75
快速幂加逆元!
猜你喜欢
转载自www.cnblogs.com/lightac/p/10747278.html
今日推荐
周排行