Loading...
Submission
# When Author Problem Language CPU Memory
20833 2024-06-09 09:13:54 AHAMMED_99 Squirrel and Relocation Python 3 15 ms 8932 kb Runtime Error - 1
Test Cases
# CPU Memory Points
1 15 ms 8932 kb 0 Runtime Error
2 0 ms 0 kb 0 Skipped
3 0 ms 0 kb 0 Skipped
4 0 ms 0 kb 0 Skipped
5 0 ms 0 kb 0 Skipped
6 0 ms 0 kb 0 Skipped
7 0 ms 0 kb 0 Skipped
8 0 ms 0 kb 0 Skipped
9 0 ms 0 kb 0 Skipped
10 0 ms 0 kb 0 Skipped
11 0 ms 0 kb 0 Skipped
12 0 ms 0 kb 0 Skipped
13 0 ms 0 kb 0 Skipped
14 0 ms 0 kb 0 Skipped
15 0 ms 0 kb 0 Skipped
16 0 ms 0 kb 0 Skipped
17 0 ms 0 kb 0 Skipped
18 0 ms 0 kb 0 Skipped
19 0 ms 0 kb 0 Skipped
20 0 ms 0 kb 0 Skipped
21 0 ms 0 kb 0 Skipped
22 0 ms 0 kb 0 Skipped
23 0 ms 0 kb 0 Skipped
24 0 ms 0 kb 0 Skipped
25 0 ms 0 kb 0 Skipped
26 0 ms 0 kb 0 Skipped
Source Code
  1. MOD = 998244353
  2.  
  3. # Function to find the number of cycles in the permutation
  4. def find_cycles(n, perm):
  5. visited = [False] * (n + 1)
  6. cycles = 0
  7.  
  8. for i in range(1, n + 1):
  9. if not visited[i]:
  10. j = i
  11. while not visited[j]:
  12. visited[j] = True
  13. j = perm[j]
  14. cycles += 1
  15.  
  16. return cycles
  17.  
  18. # Function to calculate factorial modulo MOD
  19. def factorial_mod(n):
  20. result = 1
  21. for i in range(2, n + 1):
  22. result = (result * i) % MOD
  23. return result
  24.  
  25. # Main function to solve the problem
  26. def count_permutations(t, test_cases):
  27. for i in range(t):
  28. n, perm = test_cases[i]
  29. cycles = find_cycles(n, perm)
  30. permutations = factorial_mod(cycles)
  31. print(permutations)
  32.  
  33. # Read input
  34. t = int(input())
  35. test_cases = []
  36. for _ in range(t):
  37. n = int(input())
  38. perm = list(map(int, input().split()))
  39. test_cases.append((n, perm))
  40.  
  41. # Solve the problem
  42. count_permutations(t, test_cases)
  43.