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
AC × 1
AC × 9
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