結果
問題 | No.2732 Similar Permutations |
ユーザー |
![]() |
提出日時 | 2024-04-19 22:56:46 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 175 ms / 2,000 ms |
コード長 | 762 bytes |
コンパイル時間 | 427 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 123,904 KB |
最終ジャッジ日時 | 2024-10-11 16:57:00 |
合計ジャッジ時間 | 23,300 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 101 |
ソースコード
import itertoolsdef make_perm(n):P = list(itertools.permutations([i + 1 for i in range(n)]))return PN = int(input())A = list(map(int,input().split()))if N <= 4:P = make_perm(N)for p in P:x = 0for i in range(N):x ^= p[i] + A[i]for q in P:if p == q:continuey = 0for j in range(N):y ^= q[j] + A[j]if x == y:print(*p)print(*q)exit()print(-1)exit()X = [[] for i in range(4)]for i in range(N):X[A[i] % 4].append(i)for i in range(4):if len(X[i]) >= 2:l,r = X[i][0],X[i][1]breakP = [-1 for i in range(N)]P[l] = 1P[r] = 2n = 3for i in range(N):if P[i] == -1:P[i] = nn += 1print(*P)P[l],P[r] = P[r],P[l]print(*P)