欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1560C.Infinity Table
Infinity Table
题目描述
Polycarp 发现了一张拥有无限多行和列的表格。行号从上到下依次为 开始编号,列号从左到右依次为 开始编号。
最初,这张表格是空的,Polycarp 想要填充它。他按照如下方式依次将整数 开始填入表格。
上图展示了数字 到 的填充方式,箭头表示填充的顺序。首先,Polycarp 在表格的左上角(第一行第一列)填入数字 。然后,他按照如下算法依次填入从 开始的所有正整数。
首先,Polycarp 选择第一行中最左侧尚未填充的单元格并填入数字。接着,只要刚刚填充的单元格的左侧邻格已经被填充,他就向下移动并填充下一个单元格。如此向下,直到当前填充的单元格左侧有一个未填充的邻格为止(如上图中的竖直箭头所示)。
之后,他从右向左依次填充单元格,直到到达第一列为止(如上图中的水平箭头所示)。然后,Polycarp 再次选择第一行中最左侧尚未填充的单元格,继续上述过程。
Polycarp 的朋友有一个喜欢的数字 。他想知道数字 会被填入哪一个单元格。请你帮他找出该单元格的行号和列号,即该数字所在的行和列的编号。
输入格式
第一行包含一个整数 (),表示测试用例的数量。接下来有 行,每行一个整数 (),表示需要查询的位置。
输出格式
对于每个测试用例,输出一行两个整数 和 (),表示数字 所在单元格的行号和列号。两个整数之间用空格隔开。
说明/提示
由 ChatGPT 4.1 翻译
样例
7
11
14
5
4
1
2
1000000000
2 4
4 3
1 3
2 1
1 1
1 2
31623 14130
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |