結果
問題 | No.2428 Returning Shuffle |
ユーザー | 👑 SPD_9X2 |
提出日時 | 2023-08-18 21:36:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 528 ms / 2,000 ms |
コード長 | 760 bytes |
コンパイル時間 | 306 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 271,304 KB |
最終ジャッジ日時 | 2024-11-28 06:02:17 |
合計ジャッジ時間 | 5,351 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
""" """ import sys from sys import stdin N,M = map(int,stdin.readline().split()) p = [i for i in range(N)] for lp in range(M): ts = list(map(int,stdin.readline().split())) s = [] for j in range(1,len(ts)): s.append(ts[j]-1) s.reverse() pz = p[s[0]] for i in range(len(s)-1): p[s[i]] = p[s[i+1]] p[s[-1]] = pz #print (p) end = [False] * N c = [] for i in range(N): if not end[i]: v = i now = 0 while True: end[v] = True v = p[v] now += 1 if v == i: break c.append(now) #print (c,p) ans = 1 import math for i in c: ans = i * ans // math.gcd(i,ans) print (ans % 998244353)