Submission
# | When | Author | Problem | Language | CPU | Memory | |
---|---|---|---|---|---|---|---|
7798 | 2023-04-12 23:58:03 | tafsiruzzaman | Squirrel and Relocation | C++ 17 | 19 ms | 4500 kb | Accepted |
Test Cases
# | CPU | Memory | Points | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 3 ms | 3308 kb | 1 | Accepted | |||||||
2 | 3 ms | 3388 kb | 1 | Accepted | |||||||
3 | 4 ms | 3404 kb | 1 | Accepted | |||||||
4 | 6 ms | 3412 kb | 1 | Accepted | |||||||
5 | 5 ms | 3320 kb | 1 | Accepted | |||||||
6 | 5 ms | 3412 kb | 1 | Accepted | |||||||
7 | 3 ms | 3332 kb | 1 | Accepted | |||||||
8 | 3 ms | 3532 kb | 1 | Accepted | |||||||
9 | 4 ms | 3408 kb | 1 | Accepted | |||||||
10 | 4 ms | 3340 kb | 1 | Accepted | |||||||
11 | 3 ms | 3500 kb | 1 | Accepted | |||||||
12 | 4 ms | 3492 kb | 1 | Accepted | |||||||
13 | 4 ms | 3536 kb | 1 | Accepted | |||||||
14 | 4 ms | 3504 kb | 1 | Accepted | |||||||
15 | 4 ms | 3428 kb | 1 | Accepted | |||||||
16 | 4 ms | 3464 kb | 1 | Accepted | |||||||
17 | 5 ms | 3492 kb | 1 | Accepted | |||||||
18 | 8 ms | 3428 kb | 1 | Accepted | |||||||
19 | 9 ms | 3460 kb | 1 | Accepted | |||||||
20 | 11 ms | 3652 kb | 1 | Accepted | |||||||
21 | 12 ms | 3488 kb | 1 | Accepted | |||||||
22 | 13 ms | 3928 kb | 1 | Accepted | |||||||
23 | 15 ms | 3792 kb | 1 | Accepted | |||||||
24 | 13 ms | 3852 kb | 1 | Accepted | |||||||
25 | 19 ms | 4188 kb | 1 | Accepted | |||||||
26 | 15 ms | 4500 kb | 1 | Accepted | |||||||
Source Code
/** * * @author tafsiruzzaman */ #include<bits/stdc++.h> using namespace std; const long long MOD = 998244353; void test() { int n; cin >> n; vector<int> a(n+1, 0); vector<int> c(n+1, 0); vector<int> v; for(int i = 1; i <= n; i++) cin >> a[i]; for(int i = 1; i <= n; i++) { if(!c[i]) { int cnt = 1, x = a[i]; c[i] = 1; while(!c[x]) { c[x] = 1; x = a[x]; cnt++; } v.push_back(cnt); } } long long ans = 1; for(int i = 0; i < v.size(); i++) { ans = (1ll * ans * v[i]) % MOD; } cout << ans << '\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int t = 1; cin >> t; for(int i = 1; i <= t; i++) { test(); } return 0; }