結果
問題 | No.2732 Similar Permutations |
ユーザー |
👑 ![]() |
提出日時 | 2024-04-19 22:18:03 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 156 ms / 2,000 ms |
コード長 | 1,065 bytes |
コンパイル時間 | 300 ms |
コンパイル使用メモリ | 82,588 KB |
実行使用メモリ | 111,872 KB |
最終ジャッジ日時 | 2024-10-11 15:44:23 |
合計ジャッジ時間 | 22,327 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 101 |
ソースコード
"""1,2の位置で構成する2の桁以上で、最初に0になる桁が同じ数があれば終わり実験"""import sysimport randomN = int(input())if N == 1:print (-1)sys.exit()A = list(map(int,input().split()))tup = Noneif N <= 1000:for i in range(N):for j in range(i+1,N):if (A[i]+1)^(A[j]+2) == (A[i]+2)^(A[j]+1):tup = (i,j)breakelse:import randomfor lp in range(10**6):i,j = random.randint(0,N-1),random.randint(0,N-1)if i == j:continueif (A[i]+1)^(A[j]+2) == (A[i]+2)^(A[j]+1):tup = (i,j)breakif True:if tup == None:print (-1)sys.exit()else:P = [None] * NQ = [None] * NP[tup[0]] = Q[tup[1]] = 1P[tup[1]] = Q[tup[0]] = 2#print (P,Q)cnt = 3for i in range(N):if P[i] == None:P[i] = Q[i] = cntcnt += 1print (*P)print (*Q)