题目原文请移步下面的链接
数学
、容斥
#include <bits/stdc++.h>
using namespace std;
const long long mod = 100003;
void best_coder() {
long long n, m, t, a;
scanf("%lld%lld", &m, &n);
t = m;
a = m - 1;
for (long long i = 1; i < n; ++i) {
m %= mod;
m *= t;
m %= mod;
}
for (long long i = 1; i < n; ++i) {
t %= mod;
t *= a;
t %= mod;
}
printf("%lld", (m - t + mod) % mod);
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
// 返回
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const long long mod = 100003;
long long binpow(long long a, long long b) {
long long res = 1;
while (b > 0) {
if (b & 1) {
res = res * a;
res %= mod;
}
a *= a;
a %= mod;
b >>= 1;
}
return res % mod;
}
void best_coder() {
long long n, m;
scanf("%lld%lld", &m, &n);
long long ans = binpow(m, n) - (m * binpow(m - 1, n - 1)) % mod + mod;
printf("%lld", ans % mod);
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
// 返回
return 0;
}
END