[Bzoj1008][HNOI2008]越獄

題目連接:https://www.lydsy.com/JudgeOnline/problem.php?id=1008php

組合計數的簡單題,可能越獄的方案數等於總方案數-不可能越獄的方案數,則:c++

總方案數爲:mnspa

不可能越獄的方案數爲m*(m-1)n-1,(第一我的有m種選法,以後的n-1我的有m-1種選法)。code

#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\n", (qpow(m, n, 100003) - m * qpow(m - 1, n - 1, 100003) % 100003 + 100003) % 100003);
}
相關文章
相關標籤/搜索