前言

扫了一眼网上的题解,都是找规律。

估计就我一个蒟蒻在打二分。

题解

设一个" ┐"形为一层。

我们二分查找该数在那一层,然后就可以直接计算它的位置了。

代码

#include <cstdio>

int main(){
int T, cs = 0; scanf("%d", &T);
while (T--){
long long x; scanf("%lld", &x);
long long l = 1, r = 100000000, ans = 1;
while (l <= r){
long long mid = (l + r) / 2, tmp = (mid & 1) ? mid : mid - 1;
long long res = tmp * tmp + !(mid & 1);
if (res & 1)
res = res - mid * 2 + 2;
if (x >= res)
l = mid + 1, ans = mid;
else if (x < res)
r = mid - 1;
}
long long tmp = (ans & 1) ? ans : ans - 1;
long long res = tmp * tmp + !(ans & 1);
if (res & 1)
res = res - ans * 2 + 2;
long long lft = x - res; printf("Case %d: ", ++cs);
if (res & 1){
long long posx = ans, posy = 1;
if (lft < ans)
posy += lft;
else{
posy = ans; lft -= ans - 1;
posx -= lft;
}
printf("%lld %lld\n", posx, posy);
}
else{
long long posx = 1, posy = ans;
if (lft < ans)
posx += lft;
else{
posx = ans; lft -= ans - 1;
posy -= lft;
}
printf("%lld %lld\n", posx, posy);
}
}
return 0;
}

最新文章

  1. yum 源
  2. SQLserver 备份和还原 失败
  3. paper 93:OpenCV学习笔记大集锦
  4. DHCP协议讲解
  5. Python判断是否是数字(无法判断浮点数)(已解决)
  6. PHP 获取文件权限函数
  7. 前端js插件
  8. [topcoder]FlowerGarden
  9. Android - NullPointerException
  10. NOI2015 程序自动分析
  11. Arcgis for Silverlight学习(一)
  12. Qt QToolTip 控件背景的 QSS 设置方法(摘抄)
  13. oracle dataguard 角色切换
  14. 计算幂 51Nod 1046 A^B Mod C
  15. RocketMq 集群搭建 部署
  16. python:字典嵌套列表
  17. PyCharm的一些设置
  18. 【UI测试】--易用性
  19. VS2013开发asmx接口返回一个自定义XML
  20. glValidateProgram只用于调试

热门文章

  1. (转)在Kubernetes集群中使用JMeter对Company示例进行压力测试
  2. BadUsb简单用法示例
  3. XSS跨站简析
  4. deepin之添加右键新建文档选项
  5. Spring(六)--Spring配置文件之间的关系
  6. Spring整合jms消息
  7. java使用face++简单实现人脸识别注册登录
  8. springboot2.0自适应效果错误响应
  9. POJ 3249 Test for Job (拓扑排序+DP)
  10. Largest Beautiful Number CodeForces - 946E (贪心)