SP3411 SAMER08G - Pole Position
题目描述
在赛车比赛中,赛道的终点线旁边总会竖立一根高杆。这根杆子在比赛开始前用于展示赛车的起始排位:第一辆赛车的车号在杆子的最顶端,其余赛车依次向下排列。
比赛进行时,杆子显示的是每辆车当前的排名:领先的车号置于杆顶,第二名的紧随其后,如此类推。
此外,杆子还会展示每辆车相对于起始排位所取得的变动数值。这个数值紧挨着车号显示。正数 \( v \) 意味着该车比起始排位上升了 \( v \) 个位置;负数 \( v \) 则表示下降了 \( v \) 个位置;若数值为零,则表示位置未变动。
现在我们正处于世界锦标赛最后一场比赛——瑞典大奖赛的中途。比赛总监 Dr. Shoo Makra 十分担忧:他收到了一些投诉,称杆系统的软件存在故障,显示的赛况并不真实性。
为了确认杆系统的工作是否正常,Dr. Shoo Makra 想到了一种方法:根据当前杆子上显示的信息,重建比赛的起始排位。如果能成功重建且与真实起始排位相符,那么杆系统就是正常的。反之,若无法重建有效的起始排位,则说明杆系统确实有故障。
你能帮助 Dr. Shoo Makra 完成这个验证吗?
输入格式
输入包含若干测试用例。每个测试用例的第一行包含一个整数 \( N \),表示比赛中赛车的数量(\( 2 \leq N \leq 10^3 \))。接下来的 \( N \) 行中,每行有两个整数 \( C \) 和 \( P \),它们分别代表赛车的编号(\( 1 \leq C \leq 10^3 \))以及与起始排位相比的名次变动量(\( -N < P < N \))。
输入以一行仅含有一个数字 "0" 结束。
输出格式
对于每个测试用例,如果能够重建出有效的起始排位,则输出该排位,以车号按顺序排列,中间用一个空格分隔。如果无法重建,则输出 `-1`。
说明/提示
- 车辆数量 \( 2 \leq N \leq 10^3 \)
- 车辆编号 \( 1 \leq C \leq 10^3 \)
- 排位变动量 \( -N < P < N \)
**本翻译由 AI 自动生成**