【题解】CF1421D Hexagons

题目

CF1421D Hexagons

题解

在六边形网格中,有六个方向的不同走法,但是坐标却只有二维。将每个方向的操作用数字表示出来,假设当前在(x,y),经过C1,C2,C3,C4,C5,C6后,分别到达(x+1,y+1),(x,y+1),(x-1,y),(x-1,y-1),(x,y-1),(x+1,y)。这样来看,六边形网格其实可以转化为直角坐标系,6个方向对应x,y轴的方向以及直线y=x的方向。然后最简单的方法就是穷举所有情况。

代码

Subscribe
提醒
guest
1 评论
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
cyx
cyx
2020年10月27日 上午11:59

【小白解析】
需注意此题中x和y并非传统意义上的横纵坐标:x描述竖直方向的高度,y描述相对于传统平面直角坐标系中某负斜率一次函数(如y=-x)的水平移动距离。
诸如11行 c[1]+c[3]的表达式实际上包含了上下两条路径,因其成分均为等量的斜向上+斜向下,故可以合并。