题目 难理解,最后选用的方法是仿照了二分的思想方法来做的,感觉还是比较灵活的刚看到可能没什么思路,但是想到可以把图分为四个象限,所以可以用类似与二分的方法去做
总是做算法,不如来个陶冶情操的文章一篇: http://www.sanwen.net/subject/3628849/
题意讲的是一个地图,输入三个值的最后一个值L,代表要把这个地图分成 4^L 份,每一次分 就是把整个地图的每一份小地图分成四份,左上的在其名字后面加上一个字母q,右上的r,左下的t,右下的s,给出两个值
longitude and latitude
然后是两个公式把它转换成 以地图赤道为X轴经度为0的轴为Y轴的图 的 坐标,
Notes
You can use the ‘log(double)‘ function to calculate the natural logarithm, and ‘tan(double)‘ to calculate the tangent value.
求坐标为X,Y 的点所在小地图的名称
先计算出X,Y的值,然后利用二分的方法 利用地图最右上角坐标 以及 地图最左下角坐标,LX,LY,RX,RY计算MIDX,MIDY,然后用X,Y进行比较, 把每一个小图分为四份可以看成四个象限,这样 比MIDX大比MIDY大的为第一象限,比MIDX小比MIDY大的为第二象限,第三第四类似,看情况然后不停的改变LX,RX,LY,RY的值 不停的查找
是不是跟二分的很类似, 这个思路挺灵活的,而且很好打,写一下记录一下,代码就不给出了
ZOJ2855 Google Map 经纬度,布布扣,bubuko.com
原文:http://blog.csdn.net/yitiaodacaidog/article/details/21824809