CF1733B Rule of League
题目描述
有一场羽毛球锦标赛,共有 $n$ 名选手参加。选手编号从 $1$ 到 $n$。
比赛规则如下:选手 $1$ 和选手 $2$ 进行一场比赛,胜者与选手 $3$ 再进行一场比赛,然后胜者与选手 $4$ 进行比赛,依此类推。总共会进行 $n-1$ 场比赛,最后一场比赛的胜者成为冠军。比赛中不会出现平局。
你现在只知道如下信息:
- 每位选手在锦标赛中要么赢了 $x$ 场比赛,要么赢了 $y$ 场比赛。
给定 $n$、$x$ 和 $y$,判断是否存在一种比赛结果满足上述信息。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^5$),表示测试用例的数量。
每个测试用例包含一行,包含三个整数 $n$、$x$、$y$($2 \le n \le 10^5$,$0 \le x, y < n$)。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一行答案。如果不存在满足条件的比赛结果,输出 $-1$。否则,输出 $n-1$ 个用空格分隔的整数,第 $i$ 个整数表示第 $i$ 场比赛的获胜者的编号。
如果有多种合法方案,输出任意一种均可。
说明/提示
在第一个测试用例中,选手 $1$ 和选手 $4$ 各赢了 $x$ 场,选手 $2$ 和选手 $3$ 各赢了 $y$ 场。
在第二、第三和第五个测试用例中,不存在合法的比赛结果。
由 ChatGPT 4.1 翻译