結果
問題 | No.2428 Returning Shuffle |
ユーザー | Akijin_007 |
提出日時 | 2023-08-18 22:07:25 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,321 bytes |
コンパイル時間 | 295 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 533,608 KB |
最終ジャッジ日時 | 2024-11-28 07:22:51 |
合計ジャッジ時間 | 18,123 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1,409 ms
270,408 KB |
testcase_01 | TLE | - |
testcase_02 | TLE | - |
testcase_03 | AC | 45 ms
59,264 KB |
testcase_04 | AC | 46 ms
58,752 KB |
testcase_05 | AC | 46 ms
59,136 KB |
testcase_06 | AC | 45 ms
53,760 KB |
testcase_07 | AC | 46 ms
53,760 KB |
testcase_08 | AC | 45 ms
53,504 KB |
testcase_09 | AC | 45 ms
53,760 KB |
testcase_10 | AC | 45 ms
53,632 KB |
testcase_11 | AC | 45 ms
53,632 KB |
testcase_12 | AC | 45 ms
53,632 KB |
testcase_13 | AC | 46 ms
53,504 KB |
testcase_14 | AC | 45 ms
53,632 KB |
testcase_15 | AC | 45 ms
53,376 KB |
testcase_16 | AC | 46 ms
53,632 KB |
testcase_17 | AC | 46 ms
53,632 KB |
testcase_18 | AC | 46 ms
53,760 KB |
testcase_19 | TLE | - |
testcase_20 | TLE | - |
testcase_21 | AC | 45 ms
53,632 KB |
testcase_22 | AC | 45 ms
53,376 KB |
testcase_23 | AC | 45 ms
53,760 KB |
testcase_24 | AC | 423 ms
268,368 KB |
testcase_25 | MLE | - |
ソースコード
#int(input()) #map(int, input().split()) #list(map(int, input().split())) N, M = map(int, input().split()) T = [0] * M S = [0] * M for i in range(M): a = list(map(int, input().split())) T[i] = a[0] for j in range(a[0]): a[j+1] -= 1 S[i] = a[1:] mod = 998244353 # print(S[i]) l = list(range(N)) nl = list(range(N)) for i in range(M): t = T[i] for j in range(t): nl[S[i][(j)%t]] = l[S[i][(j-1)%t]] l = list(nl) # print(l) v = [-1] * N u = [] # print(l) for i in range(N): if v[i] == -1: q = l[i] c = 1 v[i] = 1 while q != i: v[q] = 1 c += 1 q = l[q] u.append(c) # print(i, v, u) # print(l) # print(u) def prime_factorize(n): a = [] while n % 2 == 0: a.append(2) n //= 2 f = 3 while f * f <= n: if n % f == 0: a.append(f) n //= f else: f += 2 if n != 1: a.append(n) return a from collections import Counter ps = dict() for x in u: c = Counter(prime_factorize(x)) for k, v in c.items(): if k not in ps: ps[k] = v else: ps[k] = max(ps[k], v) # print(ps) ans = 1 for k, v in ps.items(): ans = (ans * pow(k, v, mod)) % mod print(ans)