CF2148B.Lasers
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在一个二维坐标平面上,坐标范围为 $$(0,0)$$ 到 $$(x, y)$$。你位于 $$(0,0)$$,目标是到达 $$(x, y)$$。
但是,平面上有 n 条水平激光,第 i 条激光从 $$(0, a_i)$$ 到 $$(x, a_i)$$,还存在 m 条竖直激光,第 i 条激光从 $$(b_i, 0)$$ 到 $$(b_i, y)$$。
你可以沿任意方向移动以到达 $$(x, y)$$,但你的运动轨迹必须是平面内的一条连续曲线。每当你穿越一条水平或一条竖直激光,计为一次穿越。特别地,如果你经过两条激光的交点,则计为两次穿越。
例如,若 x=y=2,n=m=1,a=[1],b=[1],运动方式如下所示:

问最少需要穿越多少次激光才能到达 $$(x, y)$$。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例数量。
每组测试数据的第一行包含四个整数 n、m、x 和 y(1≤n,m≤2×105, 2≤x,y≤109)。
接下来一行包含 n 个整数 a1,a2,…,an(0<ai<y),表示所有水平激光的 y 坐标。保证对于所有 i>1,有 ai>ai−1。
接下来一行包含 m 个整数 b1,b2,…,bm(0<bi<x),表示所有竖直激光的 x 坐标。保证对于所有 i>1,有 bi>bi−1。
保证所有测试用例的 n 和 m 之和不超过 2×105。
输出格式
对于每组测试数据,输出到达 $$(x, y)$$ 所需穿越激光的最小次数。
输入输出样例
输入#1
2 1 1 2 2 1 1 2 1 100000 100000 42 58 32
输出#1
2 3
说明/提示
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?