欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1691B.Shoe Shuffling
Shoe Shuffling
题目描述
一个班的学生想要互相换鞋子,假设这个班有 名学生,给定一个非递减的序列记录每个学生鞋子的码数。你需要给出一个下标排列,使得每个学生拿到的都不是自己的鞋子,并且码数与原来的相同。如果找不到这样的下标排列,输出 。
定义一个下标排列由整数 到 组成,顺序任意。比如, 是一个下标序列; 不是一个下标数列,因为 出现了两次; 不是一个下标序列,因为排列的长度为 却出现了元素 。
输入格式
每个测试点有多组数据。
第一行一个整数 ( ),表示共有 组数据。
接下来 行。每组数据 行。
每组数据的第一行一个整数 ( ) 表示学生个数。
每组数据第二行 个整数 ( ,对于所有 , ) ,表示学生鞋子的码数。
保证所有数据 的和不超过 。
说明/提示
对于第一组数据,除了 外的长度为 的下标序列都是合法的,因为每个同学之间都能穿对方的鞋子。
对于第二组数据,可以证明没有合法的下标序列。
样例
2
5
1 1 1 1 1
6
3 6 8 13 15 21
5 1 2 3 4
-1
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录