結果
問題 | No.2442 線形写像 |
ユーザー | FromBooska |
提出日時 | 2023-08-25 22:59:18 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 590 ms / 2,000 ms |
コード長 | 1,162 bytes |
コンパイル時間 | 369 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 85,444 KB |
最終ジャッジ日時 | 2024-12-25 08:04:49 |
合計ジャッジ時間 | 4,946 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 |
ソースコード
# わからない # しかし確実なのはA0=0, A1=それ以後の2個ずつのxor # すべての項が2**N未満 # あとはランダムに10**5回くらいテストするか、WAした # 全iに対して100回ずつテストしよう # max_testをやめてみるか N = int(input()) A = [] #max_test = True for i in range(2**N): a = int(input()) A.append(a) #if a >= 2**N: # max_test = False A0_test = True if A[0] != 0: A0_test = False if N == 0: if A0_test == True: print('Yes') else: print('No') exit() A1 = A[1] A1_test = True for i in range(1, 2**(N-1)): #print(A[i*2], A[i*2+1], A[i*2]^A[i*2+1]) if A[i*2]^A[i*2+1] != A1: A1_test = False #print(max_test, A0_test, A1_test) import random random_test = True for i in range(1, 2**N): for r in range(10): j = random.randint(0, 2**N-1) if A[i^j] != A[i]^A[j]: random_test = False break #if max_test == True and A0_test == True and A1_test == True and random_test == True: if A0_test == True and A1_test == True and random_test == True: print('Yes') else: print('No')