提出 #6391681
ソースコード 拡げる
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**6)
from collections import deque
N,M = map(int,input().split())
words = [deque(input().rstrip()) for _ in range(N)]
# 深さLのfull treeの小さい方を計算してみる
def G_small():
G = [0] * 100
G_cum = [0] * 100
G[0] = 1
G_cum[0] = 1
for n in range(1,100):
can_make = set(G_cum[n-1]^G_cum[x] for x in range(n)) | set([G_cum[n-1]])
rest = set(range(n+10)) - can_make
G[n] = min(rest)
G_cum[n] = G_cum[n-1] ^ G[n]
return G
# print([(n,G[n]) for n in range(100)])
# G[n] = 2**ord_2(n+1)
# 値がわかれば証明は易しい
def G(n):
n += 1
x = 1
while not n & 1:
n >>= 1
x <<= 1
return x
def calc_grandy(words,L):
if not words:
return G(L)
if len(words) == 1 and words[0] == deque():
return 0
words_0 = []
words_1 = []
for word in words:
first = word.popleft()
if first == '0':
words_0.append(word)
else:
words_1.append(word)
return calc_grandy(words_0,L-1) ^ calc_grandy(words_1,L-1)
g = calc_grandy(words,M)
answer = 'Alice' if g != 0 else 'Bob'
print(answer)
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Prefix-free Game |
| ユーザ | maspy |
| 言語 | Python (3.4.3) |
| 得点 | 700 |
| コード長 | 1268 Byte |
| 結果 | AC |
| 実行時間 | 321 ms |
| メモリ | 106656 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 700 / 700 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 0_05.txt |
| All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 0_05.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00.txt | AC | 21 ms | 3316 KiB |
| 0_01.txt | AC | 21 ms | 3316 KiB |
| 0_02.txt | AC | 21 ms | 3316 KiB |
| 0_03.txt | AC | 21 ms | 3316 KiB |
| 0_04.txt | AC | 21 ms | 3316 KiB |
| 0_05.txt | AC | 21 ms | 3316 KiB |
| 1_00.txt | AC | 21 ms | 3316 KiB |
| 1_01.txt | AC | 21 ms | 3316 KiB |
| 1_02.txt | AC | 21 ms | 3316 KiB |
| 1_03.txt | AC | 21 ms | 3316 KiB |
| 1_04.txt | AC | 21 ms | 3316 KiB |
| 1_05.txt | AC | 21 ms | 3316 KiB |
| 1_06.txt | AC | 321 ms | 106656 KiB |
| 1_07.txt | AC | 267 ms | 55388 KiB |
| 1_08.txt | AC | 141 ms | 54860 KiB |
| 1_09.txt | AC | 260 ms | 55376 KiB |
| 1_10.txt | AC | 257 ms | 55372 KiB |
| 1_11.txt | AC | 37 ms | 6004 KiB |
| 1_12.txt | AC | 40 ms | 5364 KiB |
| 1_13.txt | AC | 40 ms | 5364 KiB |
| 1_14.txt | AC | 54 ms | 7028 KiB |
| 1_15.txt | AC | 53 ms | 7028 KiB |
| 1_16.txt | AC | 55 ms | 7028 KiB |
| 1_17.txt | AC | 54 ms | 7028 KiB |
| 1_18.txt | AC | 53 ms | 7028 KiB |
| 1_19.txt | AC | 53 ms | 7028 KiB |
| 1_20.txt | AC | 53 ms | 7028 KiB |
| 1_21.txt | AC | 53 ms | 7028 KiB |
| 1_22.txt | AC | 54 ms | 7028 KiB |
| 1_23.txt | AC | 55 ms | 7028 KiB |
| 1_24.txt | AC | 58 ms | 7028 KiB |
| 1_25.txt | AC | 57 ms | 7028 KiB |
| 1_26.txt | AC | 55 ms | 7028 KiB |
| 1_27.txt | AC | 54 ms | 7028 KiB |
| 1_28.txt | AC | 54 ms | 7028 KiB |
| 1_29.txt | AC | 54 ms | 7028 KiB |
| 1_30.txt | AC | 54 ms | 7028 KiB |
| 1_31.txt | AC | 54 ms | 7028 KiB |
| 1_32.txt | AC | 59 ms | 7028 KiB |
| 1_33.txt | AC | 58 ms | 7028 KiB |
| 1_34.txt | AC | 55 ms | 7028 KiB |
| 1_35.txt | AC | 55 ms | 7028 KiB |
| 1_36.txt | AC | 54 ms | 7028 KiB |
| 1_37.txt | AC | 54 ms | 7028 KiB |
| 1_38.txt | AC | 54 ms | 7028 KiB |
| 1_39.txt | AC | 54 ms | 7028 KiB |
| 1_40.txt | AC | 54 ms | 7028 KiB |
| 1_41.txt | AC | 54 ms | 7028 KiB |
| 1_42.txt | AC | 54 ms | 7028 KiB |
| 1_43.txt | AC | 54 ms | 7028 KiB |
| 1_44.txt | AC | 54 ms | 7028 KiB |
| 1_45.txt | AC | 53 ms | 7028 KiB |
| 1_46.txt | AC | 54 ms | 7028 KiB |
| 1_47.txt | AC | 54 ms | 7028 KiB |
| 1_48.txt | AC | 53 ms | 7028 KiB |
| 1_49.txt | AC | 54 ms | 7028 KiB |
| 1_50.txt | AC | 54 ms | 7028 KiB |
| 1_51.txt | AC | 54 ms | 7028 KiB |
| 1_52.txt | AC | 53 ms | 7028 KiB |
| 1_53.txt | AC | 55 ms | 7028 KiB |