#P15912. [TOPC 2024] Harmonious Passage of Magicians

[TOPC 2024] Harmonious Passage of Magicians

说明

有一条非常狭窄的巷子,两队魔法师想从巷子的两端穿过。他们只有在两队之间只剩下一个空格时,才会看到对方。由于巷子太窄,他们无法转身或后退来避免相撞。然而,作为魔法师,他们可以使用魔法进行短距离传送,从而越过另一个人。此外,为了保持秩序,同一队的魔法师不能改变他们之间的相对顺序,因此他们不能使用这个魔法来越过自己队伍的魔法师。

为了更清晰地说明,我们假设第一队有 nn 名魔法师,从左侧开始,编号为 11nn;第二队有 mm 名魔法师,从右侧开始,编号为 n+1n+1n+mn+m

这条狭窄的巷子共有 n+m+1n + m + 1 个空格。最左边的 nn 个空格被第一队占据,面朝右;最右边的 mm 个空格被第二队占据,面朝左。巷子的初始布局如下:[1,2,,n,空格,n+1,n+2,,n+m][1, 2, \dots, n, \text{空格}, n+1, n+2, \dots, n+m]

当一名魔法师移动时,必须遵守以下规则:

  • 如果他正前方有一个空格,他可以走入该空格。
  • 如果他正前方有一名对方队伍的魔法师,且该魔法师的正后方有一个空格,他可以使用魔法移动到那个空格。

最终,第一队将占据最右边的 nn 个空格,第二队将占据最左边的 mm 个空格。

为了帮助他们穿过巷子,请提供一种移动策略。该策略将由一个序列 a1,a2,a_1, a_2, \dots 来描述,其中 aia_i 表示在第 ii 步中,编号为 aia_i 的魔法师将移动到一个空位。

如果存在多种策略,请输出字典序最小的策略。字典序是一种基于字母或数字顺序比较字符串或元素序列的方法。在本问题中,“字典序最小”的策略指的是当策略表示为数字序列时,按数值顺序排在最前面的策略。

更具体地说:

  • 每个策略表示为一个数字序列:a1,a2,a_1, a_2, \dots
  • 两个策略逐元素比较:
    • 如果一个策略的第一个元素小于另一个策略的第一个元素,则该策略的字典序更小。
    • 如果第一个元素相等,则比较第二个元素,依此类推。

输入格式

第一行包含一个整数 tt,表示测试用例的数量。接下来的 tt 行,每行包含两个整数 nnmm,分别表示第一队魔法师的数量和第二队魔法师的数量。

输出格式

输出 tt 行。第 ii 行应包含第 ii 个测试用例中帮助魔法师穿过狭窄巷子的移动策略。如果存在多种策略,则输出字典序最小的策略。

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

提示

  • 2n30002 \le n \le 3000
  • 2m30002 \le m \le 3000
  • 1t10001 \le t \le 1000
  • 所有测试用例的 nn 之和不超过 30003000
  • 所有测试用例的 mm 之和不超过 30003000

翻译由 DeepSeek V3.2 完成