R.T.
感谢大佬帮助!
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <cstdlib>
#include <utility>
#include <queue>
#include <stack>
#include <deque>
#include <iomanip>
#include <vector>
#include <list>
#include <set>
using namespace std;
const int mod=10007,maxn=1e3;
int yh[maxn+5][maxn+5];
int a,b,k,n,m;
int ans;
int qpow(int a,int b)
{
int res=1;
while(b>0) {
if(b&1) {
res=(res%mod*a%mod)%mod;
}
a=(a%mod*a%mod)%mod;
b>>=1;
}
return res;
}
int main()
{
scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
for(int i=1; i<=k+1; ++i) {
yh[i][1]=1;
}
for(int i=2; i<=k+3; ++i) {
for(int j=1; j<=i; ++j) {
yh[i][j]=(yh[i-1][j]%mod+yh[i-1][j-1]%mod)%mod;
}
}
ans=(yh[k+1][k-n+1]%mod*qpow(a,n)%mod)%mod;
ans=(ans*qpow(b,m)%mod)%mod;
printf("%d",ans);
return 0;
}