UVA 10161 Ant on a Chessboard
2016-07-13 15:32
465 查看
UVA-10161
题意:如样例所示将数字依序放入矩阵,求数字n放的坐标。解题思路:通过while (k*k < n) k++;来获取n在哪一个L形外圈上。通过 (k,k)点的值( (k-1)^2 + k) 可以知道n处于L形外圈的那一部分( k奇数和偶数时两个是倒过来的)。然后计算出坐标。
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> using namespace std; int n; int main () { freopen("xx.in","r",stdin); while (scanf("%d",&n) && n) { int i,j,l,num; double k=1; while (k*k < n) k++; l=k; num=(l-1)*(l-1)+l; if (l%2 == 0 ) { if (num > n ){ j = l; i = n - (num -l); }else{ i = l; j = l - (n - num); } }else { if (num > n) { i = l; j = n - (num -l); }else { j = l; i = l - (n - num); } } printf("%d %d\n",i,j); } }
相关文章推荐
- Win7 VC++6.0打开文件崩溃 FileTool.dll
- AVC编码中的规格 :High、Baseline、Main什么意思?还有High@L3.0、High@L4.0、High@L5.1等
- C#中对文件的操作
- Activity之间的动画切换学习笔记(一)
- 二维码扫描之zxing与zbar的优劣
- myeclipse,jdk,tomcat,MySQL配置
- 利用Java生成静态HMTL页面
- HDU 1258 Sum It Up
- hdu 2571 命运
- 【hdu3341-Lost's revenge】DP压缩+AC自动机
- Linux From Scratch(从零开始构建Linux系统,简称LFS)(三)
- python学习笔记之module && package
- MFC 之进度条CProgressCtrl
- How To Set Up Apache Virtual Hosts on Ubuntu 14.04 LTS
- [置顶] 微信红包技术分析
- [NOIP2011]聪明的质监员 D2 T2 二分答案
- pta 5-2 任务调度的合理性
- Eclipse 4.6 neon搭建Arcgis for Android的开发环境
- hdu 4027 线段树 区间变换 区间求值
- Google首席架构师谈Java的命运