new file: P16807.cpp

This commit is contained in:
hanyixuanten
2026-08-24 18:39:37 +08:00
parent 957cf41dfd
commit 8782b34995
+39
View File
@@ -0,0 +1,39 @@
#include <bits/stdc++.h>
using namespace std;
const long long mod = 998244353;
long long n, m; // 1e5
long long jc[200005];
long long qpow(long long a, long long b)
{
if (b == 0)
return 1ll;
long long res = 1;
while (b > 0)
{
if (b & 1)
res = a * res % mod;
a = a * a % mod, b /= 2;
}
return res;
}
long long ni(long long a)
{
return qpow(a, mod - 2);
}
long long C(long long a, long long b)
{
return ((jc[a] * ni(jc[a - b])) % mod * ni(jc[b])) % mod;
}
signed main()
{
scanf("%lld%lld", &n, &m);
long long now = 1;
jc[0] = 1;
for (long long i = 1; i <= m + n; ++i)
now = now * i % mod, jc[i] = now;
long long ans = (C(n + m, m) - C(n + m, m - 1));
while (ans < 0)
ans += mod;
printf("%lld\n", ans % mod);
return 0;
}