题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1008
组合计数的简单题,可能越狱的方案数等于总方案数-不可能越狱的方案数,则:
总方案数为:mn。
不可能越狱的方案数为m*(m-1)n-1,(第一个人有m种选法,之后的n-1个人有m-1种选法)。
#include<bits/stdc++.h> using namespace std; typedef long long ll; const double eps = 1e-8; const ll INF = 9e18 + 7; const int maxn = 5e5 + 10; inline ll read() { ll n = 0, f = 1; char ch = getchar(); while (ch<'0' || ch>'9') { f = -1, ch = getchar(); } while (ch >= '0'&&ch <= '9') { n = n * 10 + ch - '0', ch = getchar(); } return n * f; } ll qpow(ll a, ll b, ll mod) { ll ans = 1; a %= mod; while (b) { if (b & 1) ans = ans * a%mod; a = a * a%mod; b >>= 1; } return ans; } int main() { ll m, n; m = read(), n = read(); printf("%lld ", (qpow(m, n, 100003) - m * qpow(m - 1, n - 1, 100003) % 100003 + 100003) % 100003); }