Alice 和 Bob 在玩一個無聊的遊戲。給定正整數 n 和一個 n 個項的整數數列 S,每位玩家可以:(1 <= i <= n)
在第 i 輪時,可把自己當下的數 加上第 i 個數的平方 或 減去第 i 個數。
例如,若某玩家是 n=3,初始數是 5 且數列 S 是 (4, 7, 9),他可選擇把 5 加上 16=42,減去 7 再加上 81=92 得到 95;又或者可以把 5 減去 4,減去 7 再加上 81=92 得到 75。每人在每步都能隨意選擇兩個操作其中一個。注意每位玩家的選擇都不受第二位玩家影響。
給定整數 d 和 x,表示 Alice 的初始數是 d 而 Bob 的初始數是 d+3。如果有人在用 S 中 n 個元素操作完後得到 x,則那人獲勝。測資中保證每一筆的情況都是 Alice 和 Bob 其中恰好一個可勝出遊戲,請輸出那人。
例如,當 n=4, d=5, x=0, S=(1, 1, 2, 1) 時,Alice 可把一開始的數 5 依次減去 1, 1, 2, 1 得到 0,而且顯然 Bob 的初始數 8 不能做出 0;當 n=5, d=7, x=53, S=(1, 4, 7, 2, 1) 時,Bob 可由一開始的數 10 減去 1,減去 4,加上 49=72,減去 2 再加上 1=12 得到 53。
第一行有一正整數 T (1 <= T <= 100),表示接下來有 T 組獨立的測資。(需要應答 T 次)
每個測資中共兩行。第一行給定三個整數代表一組 n d x,第二行則給 n 個整數(以空格隔開),表示數列 S。
1 <= n <= 6 * 105, -1010 <= d <= 1010, -1010 <= x <= 1010
共輸出 T 行,分別為 T 個測資的答案。對第 i 個測資輸出 "Alice" 或 "Bob" (不需要引號),表示誰能勝出遊戲。
5 3 5 95 4 7 9 3 2 95 4 7 9 4 5 0 1 1 2 1 5 7 53 1 4 7 2 1 3 1 21 7 36 2
Alice Bob Alice Bob Bob
5 3 7 9 3 1 2 5 5 6 1 2 4 2 1 4 0 5 0 3 2 2 1 1 10001 100 6 12 274 21 6 3 8 1 16
Alice Bob Alice Alice Bob
在範例輸入#1中,第一個測資因 5 + 42 - 7 + 92 = 95 所以 Alice 獲勝;第二個測資 Bob 的初始數為 5 所以同理可知 Bob 可勝出;第三個測資因 5 - 1 - 1 - 2 - 1 = 0 所以 Alice 獲勝;第四個測資因 10 - 1 - 4 + 72 - 2 + 12 = 53 所以 Bob 獲勝;最後一個測資因 4 + 72 - 36 + 22 = 21。
範例輸入#2中,7 - 3 + 12 + 22 = 9,8 - 1 + 22 - 4 - 1 = 6,0 - 0 + 32 - 2 - 2 = 5,1 + 1002 = 10001(其餘測資類似)。
!!! 用 random.choice(["Alice", "Bob"]) 猜答案是絕對無分的~
ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |