检查一下快速幂 但应该只有我这种蒟蒻把快速幂写错了
//#pragma GCC optimize(3)
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
//#include<cctype>
#include<algorithm>
#include<queue>
#include<map>
//#include<functional>
#define INF 0x3f3f3f3f
#define int long long
#define init(name,data) memset(name,data,sizeof(name))
using namespace std;
const int maxn=10011,mod=10007;//
int a,b,k,n,m,con[maxn];
int qpow(int _a,int _b){
int _ans=1;
for(int i=_b,_num=_a;i;i>>=1){
if(_b&1)_ans=(_ans*_num)%mod;
_num=(_num*_num)%mod;
}
return _ans;
}
signed main(){
scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&n,&m);
con[1]=con[2]=1;
a%=mod,b%=mod;
for(int i=2;i<=k;i++){
for(int j=i+1;j>=1;j--){
con[j]=(con[j-1]+con[j])%mod;
}
}
printf("%lld",(qpow(a,n)*qpow(b,m))%mod*con[n+1]%mod);
return 0;
}
/*
*/
其中 if(_b&1)_ans=(_ans*_num)%mod; 改成 if(i/*_b&1*/)_ans=(_ans*_num)%mod;