結果
問題 | No.715 集合と二人ゲーム |
ユーザー | tonyu0 |
提出日時 | 2021-02-02 14:56:43 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 711 bytes |
コンパイル時間 | 172 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 215,724 KB |
最終ジャッジ日時 | 2024-06-29 23:40:51 |
合計ジャッジ時間 | 8,677 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 5 RE * 52 WA * 3 |
ソースコード
n=int(input()) a=list(set(map(int, input().split()))) MAX=99 gr=[-1]*(MAX+1) gr[0]=0 def grundy(x): if x<=0: return 0 if gr[x]>=0: return gr[x] g=set() for i in range(1,min(99,x+1)): # iを取ったとき # o o x i x o o o l=i-2 r=x-(i+1) g.add(grundy(l)^grundy(r)) res=0 while res in g: res+=1 gr[x]=res return res g=[grundy(i) for i in range(MAX)] # for i, e in enumerate(g): # print(i, e) #g[54]=0;g[88]=0 all=0 l=a[0] r=a[0] for e in a: if e>r+1: num=r-l+1 if num>54:num=(num-54)%34 all^=g[num] l=e r=e all^=grundy(r-l+1) if all:print('First') else:print('Second')