jzoj5234. 【NOIP2017模拟8.7A组】外星人的路径

来源:互联网 发布:基因调控网络仿真 编辑:程序博客网 时间:2024/06/05 09:48

Description

有一个外星人控制了你的大脑。一开始你处于原点(0,0)。外星人有一个由(R,U,D,L)组成的长度为M 的操作序列,分别代表(右,上,下,左)。
平面上有N 个关键点,每当外星人给出一个操作,你需要在这个方向上找到最近的一个关键点,并走到那个点上。保证输入数据合法。
这里写图片描述
上图为第三个样例的图示。

Input

第一行两个整数N,M。
接下来N 行,每行两个整数xi,yi,代表第i 个点的坐标。
接下来一行,一个长度为M 的字符串,代表操作序列。

Output

一行两个整数,代表最终你所处的位置。

Sample Input

输入1:
4 4
1 1
1 0
0 1
0 0
RULD

输入2:
7 5
0 0
0 1
0 -1
1 0
1 -1
3 0
3 -1
DRRUD

输入3:
10 6
0 0
1 1
2 1
0 2
-1 2
-1 3
2 3
2 4
4 3
2 -1
ULURDL

Sample Output

输出1:
0 0

输出2:
3 -1

输出3:
1 1

Data Constraint

56%的数据,N≤3000,M≤3000。
100%的数据,N,M≤100000,xi,yi≤200000。
想法:
我们只需要把每个点4个操作后分别的终点求出来就好
把所有点以横坐标为第一关键字排个序,以纵坐标第二关键字排一次序,记录,再以纵坐标为第一,横坐标为第二关键字排序,
然后两种方法:
第一种:直接查询以这个方向遇到的第一个点,用各种数组记录
第二种:设当前点为(x,y)以上方向为例,利用以横坐标第一关键字排序的数组,找出x坐标与当前点相等的范围,然后二分比y大且最小的点

原创粉丝点击