結果
問題 |
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"