結果
問題 | No.1779 Magical Swap |
ユーザー | tamato |
提出日時 | 2021-12-08 00:07:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 368 ms / 2,000 ms |
コード長 | 1,171 bytes |
コンパイル時間 | 722 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 146,396 KB |
最終ジャッジ日時 | 2024-07-16 07:37:35 |
合計ジャッジ時間 | 5,046 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 18 |
ソースコード
mod = 1000000007 eps = 10**-9 def main(): import sys from collections import deque input = sys.stdin.readline for _ in range(int(input())): N = int(input()) A = [0] + list(map(int, input().split())) B = [0] + list(map(int, input().split())) adj = [[] for _ in range(N+1)] for i in range(2, N+1): for x in range(1, N+1): if i * x > N: break adj[i].append(i * x) adj[i*x].append(i) seen = [0] * (N+1) ok = 1 for v0 in range(1, N+1): if seen[v0]: continue seen[v0] = 1 que = deque([v0]) SA = set() SB = set() while que: v = que.popleft() SA.add(A[v]) SB.add(B[v]) for u in adj[v]: if not seen[u]: que.append(u) seen[u] = 1 if SA != SB: ok = 0 if ok: print("Yes") else: print("No") if __name__ == '__main__': main()