結果
問題 | No.1665 quotient replace |
ユーザー |
![]() |
提出日時 | 2021-09-03 21:47:31 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,830 ms / 3,000 ms |
コード長 | 673 bytes |
コンパイル時間 | 368 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 255,860 KB |
最終ジャッジ日時 | 2024-12-15 12:11:47 |
合計ジャッジ時間 | 120,149 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 41 |
ソースコード
import sys input = sys.stdin.readline N=int(input()) AX=list(map(int,input().split())) Grundy=[-1]*(10**6+1) Grundy[1]=0 A=[i for i in range(10**6+1)] for i in range(2,10**6+1): if A[i]==i: for j in range(i,10**6+1,i): A[j]=i def fac(x): L={1} while x!=1: L|={l*A[x] for l in L} x//=A[x] return L for i in range(2,10**6+1): S=set() for f in fac(i): S.add(Grundy[f]) for k in range(1000): if k in S: continue else: Grundy[i]=k break XOR=0 for ax in AX: XOR^=Grundy[ax] if XOR!=0: print("white") else: print("black")