感觉没有太大问题,RE 的,应该不是公式写错了,求助 qwq
#include <bits/stdc++.h>
using namespace std;
const long long p = 1e9 + 7;
long long t, n, m, k;
long long f(long long n, long long m) {
long long a = 1;
while (m) {
if (m & 1)
a = n * a % p;
m >>= 1;
n = n * n % p;
}
return a % p;
}
long long C(int n, int m) {
long long a = 1, b = 1;
for (int i = n, cnt = 1; cnt <= m; i--, cnt++)
a *= i;
for (int i = m; i; i--)
b *= i;
return a / b;
}
int main() {
cin >> t;
while (t--) {
cin >> n >> m >> k;
if (k > n || m < 2 * k)
cout << 0 << endl;
else
cout << C(n, k) *C(n - k, m - 2 * k) % p *f(2, m - 2 * k) % p;
}
return 0;
}