题目地址 https://www.luogu.org/problemnew/show/P1313
主要思路:二项式定理,打表
杨辉三角的第K行第p个数是(ax+by)^k的系数
快速幂:pow(x,y)=pow(x*x,y/2)
#include <iostream>
#include <fstream>
#include <cstdio>
#include <algorithm>
#include <string.h>
#include <iomanip>
#define mo 10007
using namespace std;
const int maxk = 1005;
long long int qr() {
long long int x=0;
char ch=getchar();
while (ch>'9'||ch<'0')ch=getchar();
while (ch>='0'&&ch<='9') {
x=x*10+ch-'0';
ch=getchar();
}
return x%mo;
}
long long int a ,b ,k ,n ,m;
long long int ksm(int x,int y) {
int bs=x,ans=1;
while (y>0){
if(y%2)ans=(ans*bs)%mo;
bs=(bs*bs)%mo;
y/=2;
}
return ans%mo;
}
int s[maxk][maxk];
int main() {
// freopen("1313_wa1.in","r",stdin);
a=qr()%mo;
b=qr()%mo;
k=qr();
n=qr();
m=qr();
int p = min(n,m);
for (int i=1; i<=k+1; i++) {
s[i][0]=1;
s[i][i]=1;
}
for (int i=2; i<=k+1; i++) {
for (int j=1; j<=p; j++) {
s[i][j]=(s[i-1][j-1]+s[i-1][j])%mo;
}
}
int sum = s[k][p];
a=ksm(a,n)%mo;
b=ksm(b,m)%mo;
cout<<((a%mo)*(b%mo)*s[k][p]%mo)%mo<<endl;
fclose (stdin);
fclose (stdout);
return 0;
}