Author: lllyouo
Date: 20250610
tag: 排列组合
link: https://www.luogu.com.cn/problem/P1313问题描述
分析
略
参考代码
cpp
#include <bits/stdc++.h>
using namespace std;
const int N = 1010, MOD = 10007;
int fact[N], infact[N];
int qmi(int a, int b, int p) {
int ans = 1;
while (b) {
if (b & 1) ans = (long long)ans * a % p;
a = (long long)a * a % p;
b >>= 1;
}
return ans;
}
int main() {
fact[0] = infact[0] = 1;
for (int i = 1; i < N; i++) {
fact[i] = (long long)fact[i - 1] * i % MOD;
infact[i] = (long long)infact[i - 1] * qmi(i, MOD - 2, MOD) % MOD;
}
int a, b, k, n, m; cin >> a >> b >> k >> n >> m;
long long t = (long long)fact[k] * infact[k - n] % MOD * infact[n] % MOD;
cout << (long long)qmi(a, n, MOD) * qmi(b, m, MOD) % MOD * t % MOD << endl;
return 0;
}