new file: P16807.cpp
This commit is contained in:
+39
@@ -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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user