uva 10161 Ant on a Chessboard 蛇形矩阵 简单数学题
来源:互联网 发布:淘宝哪种推广方法最好 编辑:程序博客网 时间:2024/06/05 15:52
题目给出如下表的一个矩阵: (红字表示行数或列数)
252423222151011121320498714193236151821451617112345如表格,矩阵是从1开始盘曲的,排放规律不是很难找。
题目要求算出某个数的坐标,数据范围2*10^9,很明显不能用模拟的,这题是纯数学题,找规律题。
我们把矩阵拆开来看,每次进入上一层都会方向反转,每一层拆出来看就是:
25242322 21 2019 18 171011 12 13 14 151698 7 6 52 3 4 1
这样一个三角形,把坐标也写进去就是:
(第一次发现编辑器如此蛋疼。。。制表格老是错乱!)
下面贴了图片了。
2524 23 22 21 2019 18 17 第5层1.52.5 3.54.5 5.55.4 5.35.2 5.11011 12 13 14 1516 第4层1.42.4 3.44.4 4.34.2 4.198 7 6 5 第3层1.32.3 3.33.2 3.123 4第2层1.22.2 2.1 1第1层1.1
只要把这个规律描述出来就行了,注意层数的奇偶不同变化规律也会有所不同。
具体见代码:
#include <cstdio>#include <cmath>using namespace std;int main() {long long n;while (scanf("%lld", &n) && n) {long long k = ceil(sqrt(n));if (k % 2 == 0) {if (k * k - n + 1 < n - (k - 1) * (k - 1))printf("%lld %lld\n", k, k * k - n + 1);elseprintf("%lld %lld\n", n - (k - 1) * (k - 1), k);}else {if (k * k - n + 1 < n - (k - 1) * (k - 1))printf("%lld %lld\n", k * k - n + 1, k);elseprintf("%lld %lld\n", k, n - (k - 1) * (k - 1));}}return 0;}
- uva 10161 Ant on a Chessboard 蛇形矩阵 简单数学题
- Ant on a Chessboard-蛇形矩阵
- uva 10161 Ant on a Chessboard(蛇型矩阵)
- uva 10161 Ant on a Chessboard(蛇型矩阵)
- UVa 10161 Ant on a Chessboard (简单数学)
- UVa 10161 Ant on a Chessboard (简单数学)
- UVA 10161-Ant on a Chessboard 简单模拟
- uva 10161 Ant on a Chessboard
- UVA 10161 - Ant on a Chessboard
- uva 10161 - Ant on a Chessboard
- UVa 10161 - Ant on a Chessboard
- UVA 10161-Ant on a Chessboard
- uva 10161 - Ant on a Chessboard
- UVa 10161 - Ant on a Chessboard
- UVA 10161 Ant on a Chessboard
- uva 10161 - Ant on a Chessboard
- UVa 10161: Ant on a Chessboard
- uva 10161 Ant on a Chessboard
- 关于!this.IsPostBack 使用介绍
- VB打字程序
- MFC与windows API的关系
- 如何使用代码美化器Uncrustify (How to use code beautifier Uncrustify)
- 用setsockopt()来控制recv()与send()的超时
- uva 10161 Ant on a Chessboard 蛇形矩阵 简单数学题
- 【xinfanqie】苹果电脑iso系统要如何安装win7驱动
- Android: BitmapFactory.decodeResource BitmapFactory.decodeStream区别
- 建立物化視圖
- HQL中的Like查询需要注意的地方及详细示例
- MySQL多主同步 负载均衡(转) .
- iOS 几何变换
- AlertDialog更改标题颜色,字体等
- Android Process bar的自定义进度条 使用9 patch导致直接无法显示进度的问题