欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF143A.Help Vasilisa the Wise 2
Help Vasilisa the Wise 2
题目描述
远方王国的睿智瓦西丽莎收到了来自“近一点王国”的好友睿智赫拉维莎赠送的一个带有秘密的魔法盒。然而,瓦西丽莎并不知道盒子的秘密是什么,因为她无法再次打开它。她希望你再一次帮助她解开这个谜题。
盒子的锁看起来如下:它包含 个用于放置宝石的相同凹槽,排成 正方形,并且在锁边上靠近这些凹槽的位置写有一些整数。下图展示了一个锁的示例。

盒子随附有 颗宝石。它们的形状与凹槽吻合,每颗宝石上分别刻有一个 到 之间的数字(每个数字只出现在一颗宝石上)。只有当正确地用宝石装饰盒子时,盒子才会被打开:也就是说,正方形的每个凹槽都要正好放入一颗宝石,并且正方形各行、各列及两条对角线上数字的和都要等于锁边上对应写的数字。例如,对于下图所示的锁,只要按下面的方式将宝石放入凹槽,盒子就会被打开。

现在,睿智的瓦西丽莎想知道,给定盒子锁上的数字,她应当选择哪几颗宝石放入凹槽才能打开盒子。请帮助瓦西丽莎解决这个棘手的问题。
输入格式
输入包含盒子锁边上写的数字。第一行输入以空格分隔的两个整数 和 ,分别表示正方形两行的和。第二行输入以空格分隔的两个整数 和 ,分别表示正方形两列的和。第三行输入以空格分隔的两个整数 和 ,分别表示正方形主对角线及副对角线的和()。这 6 个变量与它们在锁上的位置对应关系详见下图。如需更多说明,请参见题目描述中的第二个样例。

输出格式
输出盒子宝石摆放方案:两行,每行两个用空格分隔的 到 的整数。数字需两两不同。如果不存在方案使得盒子打开,则输出一行 -1。
如果有多种方案,输出任意一种均可。
说明/提示
请注意题目最后的测试样例:此时无法打开盒子,因为瓦西丽莎需要 4 颗编号都是 的宝石。而实际上每个数字的宝石只有一颗,编号分别从 到 。
由 ChatGPT 5 翻译
样例
3 7
4 6
5 5
1 2
3 4
11 10
13 8
5 16
4 7
9 1
1 2
3 4
5 6
-1
10 10
10 10
10 10
-1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |