結果
| 問題 | No.715 集合と二人ゲーム |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-07-13 23:38:33 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 759 ms / 2,000 ms |
| コード長 | 749 bytes |
| コンパイル時間 | 909 ms |
| コンパイル使用メモリ | 6,948 KB |
| 実行使用メモリ | 50,012 KB |
| 最終ジャッジ日時 | 2024-10-09 05:45:19 |
| 合計ジャッジ時間 | 31,175 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 60 |
ソースコード
N = 2000
F = [0 for _ in xrange(N)]
F[1] = 1
F[2] = 1
for i in xrange(3, N):
H = set([F[i-2], F[i-3]])
j = 1
while i - 3 - j >= j:
k = i - 3 - j
H.add(F[j]^F[k])
j += 1
H = sorted(list(H))
for j in xrange(len(H)+1):
if j >= len(H) or H[j] != j:
F[i] = j
break
n = input()
A = sorted(map(int, raw_input().split()))
B = []
last = -1
cnt = 0
for a in A:
if last == -1:
last = a
cnt = 1
elif a - last == 1:
last = a
cnt += 1
else:
B.append(cnt)
last = a
cnt = 1
B.append(cnt)
ans = 0
for b in B:
if b >= N:
ans ^= F[34*10+b%34]
else:
ans ^= F[b]
print "First" if ans else "Second"