第一篇题解?

话说从来没为灰题写过题解诶

好吧开始进入正题

首先因为题目中出了一点岔子,导致有一张图没有显示。不过没关系,这道题目的大意就是:

你有个操作,每个操作使你向四个方向移动1格,你要找到两个次序不相邻但坐标位于同一平行与坐标轴的直线上的点。

什么,看不懂?

那我们直接开始讲程序

首先我们对坐标进行排序,分别按排。我们先对东西走向的进行操作,再对南北走向的进行操作。

当两点坐标或坐标相同时,就判断两点的距离(就是捷径长度),如果这两点原来不是相邻的,那么就记录下来。

程序比较长,但很多都是快排占用的,C++党只要把两个快排换成stl的就可以了(cmp已经给出)

注意,C++读入的时候必须判断读入的数据的合法性,不然会出错(pascal就没有这么麻烦了)


THE END