結果
問題 |
No.2619 Sorted Nim
|
ユーザー |
![]() |
提出日時 | 2024-01-26 22:35:50 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 107 ms / 2,000 ms |
コード長 | 728 bytes |
コンパイル時間 | 466 ms |
コンパイル使用メモリ | 82,260 KB |
実行使用メモリ | 107,012 KB |
最終ジャッジ日時 | 2024-09-28 08:34:16 |
合計ジャッジ時間 | 7,973 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 62 |
ソースコード
import itertools s={} def naive(a): if max(a)==0: return 0 if tuple(a) in s: return s[tuple(a)] g=set() res=[] for i in range(len(a)): for j in range(1,a[i]+1): b=a.copy() b[i]-=j if b==sorted(b): g.add(naive(b)) t=0 while t in g: t+=1 s[tuple(a)]=t return t def solve(a): b=a.copy() if len(a)%2==1: b=[0]+a xor=0 for i in range(0,len(b),2): xor^=b[i+1]-b[i] return xor import random for _ in range(0): n=random.randint(3,5) a=[random.randint(1,5) for i in range(n)] a.sort() if naive(a)!=solve(a): print(a,naive(a),solve(a)) n=int(input()) a=list(map(int,input().split())) if solve(a)!=0: print('First') else: print('Second')