B. 【KRUSKAL2026】Vanishing Inversions

    Type: Default 1000ms 256MiB

【KRUSKAL2026】Vanishing Inversions

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

注意本题采用分语言时间限制:Python 的时间限制为 2 秒,其他语言为 1 秒。

题目描述

Alice 和 Bob 在一个排列上进行游戏,Alice 先手。

称一个长度为 nn 的序列为一个​排列​,当且仅当 1,2,…,n1,2,\dots,n 中的每个整数在序列中恰好出现一次。

初始给定一个长度为 nn 的排列a1,a2,…,ana_1,a_2,\ldots,a_n。在游戏过程中的任意时刻,当前序列始终为一个长度为 mm 的排列。双方轮流操作,每次必须选择下列两种操作之一:

  • 选择一个满足 ai>ai+1a_i>a_{i+1} 的下标 ii (1≤i<m)(1\le i<m),并交换 aia_i 和 ai+1a_{i+1}。
  • 选择一个满足 ai+1=ai+1a_{i+1}=a_i+1 的下标 ii (1≤i<m)(1\le i<m),并删除 aia_i 和 ai+1a_{i+1},随后将剩余元素按照相对大小重新编号:其中第 kk 小的元素被重新编号为 kk,使得剩余序列重新成为一个排列。

例如,当前排列为 [2,3,4,1][2,3,4,1]。可以删除相邻的 2,32,3,剩余序列为 [4,1][4,1];重新编号后,排列变为 [2,1][2,1]。

当一名玩家无法进行任何操作时,该玩家输掉游戏。假设 Alice 和 Bob 都采用最优策略,请判断最终获胜者。

输入格式

本题有多组测试数据。

第一行包含一个整数 TT (1≤T≤5000)(1\le T\le 5000),表示测试数据组数。

对于每组测试用例:

  • 第一行包含一个整数 nn (1≤n≤5000)(1\le n\le 5000);
  • 第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,保证 aa 是一个长度为 nn 的排列。

保证所有测试用例的 nn 之和不超过 50005000。

输出格式

对于每组测试用例,如果 Alice 获胜,输出 Alice;否则输出 Bob。

样例

样例输入

5
1
1
2
1 2
2
2 1
4
2 4 1 3
5
5 1 4 2 3

样例输出

Bob
Alice
Bob
Alice
Bob

2026 新生赛

Not Attended
Status
Done
Rule
XCPC
Problem
13
Start at
2026-9-13 12:00
End at
2026-9-13 17:30
Duration
5.5 hour(s)
Host
Partic.
127