CF 615E Hexagons
来源:互联网 发布:dnf优化怎么这么差 编辑:程序博客网 时间:2024/05/13 03:17
题目大意
给定一个由六边形密铺组成的坐标系中的点的坐标规律。求从原点出发以六边形轨迹行走n步所走到的坐标(0 ≤ n ≤ 10^18)题目链接: http://codeforces.com/contest/615/problem/E
分析
很明显的找规律题了,我是直接求边长后分情况讨论在哪一条边上,代码写的很丑很长。(同时应该比较容易理解吧)思考:如果我们已知点的坐标,该如何求得走了多少步呢。这或许还能出一道有趣的题目。
代码
#include<cstdio>#include<cmath>long long n,x,y,i,m,t;int main(){ scanf("%I64d",&n); if (n==0){ printf("0 0\n"); return 0; } m=n/3; m=int(sqrt(m)); while (1){ t=3*m*(m+1); if (t<=n) break; m--; } while (1){ t=3*(m+1)*(m+2); if (t>n) break; m++; } i=m+1; t=3*m*(m+1); n-=t; x=2*m; if (n==0){ printf("%I64d 0\n",x); return 0; } x+=1; y+=2; if (n<=i){ x-=n-1; y+=(n-1)*2; printf("%I64d %I64d\n",x,y); return 0; } else { n-=i; x-=i-1; y+=(i-1)*2; } x-=2; if (n<=i){ x-=(n-1)*2; printf("%I64d %I64d\n",x,y); return 0; } else { n-=i; x-=(i-1)*2; } x-=1; y-=2; if (n<=i){ x-=n-1; y-=(n-1)*2; printf("%I64d %I64d\n",x,y); return 0; } else { n-=i; x-=i-1; y-=(i-1)*2; } x+=1; y-=2; if (n<=i){ x+=n-1; y-=(n-1)*2; printf("%I64d %I64d\n",x,y); return 0; } else { n-=i; x+=i-1; y-=(i-1)*2; } x+=2; if (n<=i){ x+=(n-1)*2; printf("%I64d %I64d\n",x,y); return 0; } else { n-=i; x+=(i-1)*2; } x+=1; y+=2; if (n<=i){ x+=n-1; y+=(n-1)*2; printf("%I64d %I64d\n",x,y); return 0; } else { n-=i; x+=i-1; y+=(i-1)*2; } return 0;}
0 0
- CF 615E Hexagons
- CF 615 E Hexagons(找规律)
- CodeForces 615E Hexagons
- 【38.46%】【codeforces 615E】Hexagons
- Codeforces 615E Hexagons 【找规律】
- [Codeforces 615E] Hexagons (找规律)
- CF 338 Hexagons
- CodeForces 615E——Hexagons(二分,模拟)
- Codeforces 615E Hexagons (Round #338 (Div. 2) E题) 二分答案+找规律
- CF 216A - Tiling with Hexagons
- CF 216 A Tiling with Hexagons
- cf-e
- Codeforces Round #338 (Div. 2) E. Hexagons 找规律
- Codeforces Round #338 (Div. 2) E. Hexagons(规律)
- e-Government CF 163E
- e-Government CF 163E
- cf 163e e-Government
- CF 208E
- CSS中的border的是怎么绘画出来的
- mysql数据库跨服务器迁移
- PostgreSQL学习手册(数据表)
- Android 沉浸式状态栏 支持4.4及以上。
- 常用正则表达式收集
- CF 615E Hexagons
- 手动安装 Android ADB USB Driver
- 图解mapreduce原理和执行过程
- 各种资源待整理 Tomcat Servlet等
- 用使用lynis进行linux系统安全审计
- 第7课时.了不起的分支和循环
- android跑马灯效果,同一界面可以跑多个
- RGB图像边缘检测
- Volley Manager 不能发送Header的Bug