Submission #39047596
Source Code Expand
#include <bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define eb emplace_back
typedef long long ll;
using namespace std;
const int mod = 998244353;
void amod(int &x, int y) {
x = x + y >= mod ? x + y - mod : x + y;
}
int ksm(int x, int y = mod - 2) {
int res = 1;
for(; y > 0; y >>= 1, x = 1ll * x * x % mod) {
if(y & 1) {
res = 1ll * res * x % mod;
}
}
return res;
}
const int maxn = 2e6 + 5;
int n, fac[maxn], ifac[maxn];
void init(int N) {
fac[0] = 1;
for(int i = 1; i <= N; i++) {
fac[i] = 1ll * fac[i - 1] * i % mod;
}
ifac[N] = ksm(fac[N]);
for(int i = N - 1; i >= 0; i--) {
ifac[i] = 1ll * ifac[i + 1] * (i + 1) % mod;
}
}
int binom(int x, int y) {
if(x < y || x < 0 || y < 0) {
return 0;
}
return 1ll * fac[x] * ifac[x - y] % mod * ifac[y] % mod;
}
void solve() {
cin >> n;
if(n == 2) {
cout << 1 << '\n';
return;
}
int ans = 0;
// for(int i = 2; i <= n - 1; i++) {
// amod(ans, 1ll * i * binom(n, i - 1) % mod * binom(n - 2 - (i - 1) + i - 1 - 1, i - 2) % mod);
// amod(ans, 1ll * i * binom(n, i - 1) % mod * binom(n - 3, i - 2) % mod);
// amod(ans, 1ll * n * binom(n - 1, i - 2) % mod * binom(n - 3, i - 2) % mod);
// amod(ans, 1ll * binom(n, i - 1) * binom(n - 3, i - 2) % mod);
// }
amod(ans, binom(n * 2 - 3, n - 2));
amod(ans, 1ll * n * binom(n * 2 - 4, n - 3) % mod);
cout << ans << '\n';
}
int main() {
#ifdef DEBUG
freopen("1.in", "r", stdin);
#endif
ios::sync_with_stdio(0);
cin.tie(0);
init(2e6);
int T;
cin >> T;
while(T--) {
solve();
}
return 0;
}
Submission Info
| Submission Time |
|
| Task |
F - Maximum Diameter |
| User |
yanchengzhi |
| Language |
C++ (GCC 9.2.1) |
| Score |
500 |
| Code Size |
1640 Byte |
| Status |
AC |
| Exec Time |
71 ms |
| Memory |
19152 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
500 / 500 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
00_sample_00.txt |
| All |
00_sample_00.txt, 01_all_00.txt, 01_all_01.txt, 01_all_02.txt, 01_all_03.txt, 01_all_04.txt, 02_large_00.txt, 02_large_01.txt, 02_large_02.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 00_sample_00.txt |
AC |
32 ms |
19040 KiB |
| 01_all_00.txt |
AC |
71 ms |
19080 KiB |
| 01_all_01.txt |
AC |
70 ms |
19112 KiB |
| 01_all_02.txt |
AC |
68 ms |
19112 KiB |
| 01_all_03.txt |
AC |
68 ms |
19112 KiB |
| 01_all_04.txt |
AC |
66 ms |
19080 KiB |
| 02_large_00.txt |
AC |
64 ms |
19080 KiB |
| 02_large_01.txt |
AC |
69 ms |
19152 KiB |
| 02_large_02.txt |
AC |
57 ms |
19152 KiB |