提交时间:2026-06-19 16:01:03

运行 ID: 91919

#include <iostream> using namespace std; typedef long long ll; // 快速幂取模:base^exponent mod mod ll qpow(ll base, ll exponent, ll mod) { ll res = 1; base %= mod; while (exponent > 0) { if (exponent & 1) res = res * base % mod; base = base * base % mod; exponent >>= 1; } return res; } // 计算组合数 ******) ll C(ll n, int m) { if (m < 0 || m > n) return 0; if (m == 0 || m == n) return 1; m = min(m, (int)(n - m)); ll res = 1; for (int i = 1; i <= m; ++i) { res = res * (n - m + i) / i; } return res; } int main() { int k; ll x; cin >> k >> x; ll g = qpow(x, x, 1000); ll ans = C(g - 1, k - 1); cout << ans << endl; return 0; }