B. 徐老师的逃生游戏

    传统题 1000ms 256MiB

徐老师的逃生游戏

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

徐老师最近很喜欢玩一款逃生游戏,每轮游戏会随机刷新一个二维矩阵地图,并且在这个地图中会刷新出一个矩形的 安全区,当玩家们逃进这个安全区时就能存活到下一关(这里游戏认为只要玩家能够碰到安全区的边缘就算进入安全区,包括安全区的四条边和四个顶点)。

现在徐老师发现这一轮游戏中包含他在内一共有 nn 名玩家,编号 1n1 \sim n,并且他已经知道了第 ii 个玩家所在的坐标 (xi,yi)(x_i,y_i),其中 11 号玩家就是徐老师本人。

徐老师想知道自己需要移动多少距离才能进入安全区,同时他也想知道在所有人中,距离安全区最近的那个人的编号,以及这个人距离安全区的距离。

P.S.1 这里我们认为所有玩家都足够聪明,一定是以最短距离跑向安全区。

P.S.2 在游戏中,我们认为 (a,b)(a,b)(c,d)(c,d) 需要移动的距离是欧几里得距离,即 (ac)2+(bd)2\sqrt{(a-c)^2+(b-d)^2}

输入格式

输入第一行包含四个整数 x1,y1,x2,y2x1,y1,x2,y2 分别表示安全区的左下角坐标 (x1,y1)(x1,y1) 和右上角坐标 (x2,y2)(x2,y2)

输入第一行包含一个整数 nn,表示玩家数量

接下来 nn 行,每行包含两个整数 xi,yix_i,y_i,表示第 ii 个玩家的坐标,其中 11 号玩家一定是徐老师

输出格式

输出第一行包含一个浮点数,表示徐老师距离安全区的最小距离(保留三位小数)

输出第二行包含一个整数,表示距离安全区最近的玩家编号(如果有多名玩家则输出编号最小的)

输出第三行包含一个浮点,表示最近玩家距离安全区的最小距离(保留三位小数)

数据范围

题目一共包含 1010 个测试数据:

对于编号 151 \sim 5 的测试数据保证: 1n1001 \leq n \leq 100 其中 121\sim 2 满足:x1=x2,y1=y2x1=x2,y1=y2 其中 343\sim 4 满足:x1+1=x2,y1+1=y2x1+1=x2,y1+1=y2

对于编号 6106 \sim 10 的测试数据保证: 1n1000001 \leq n \leq 100000 其中 676\sim 7 满足:x1=x2,y1=y2x1=x2,y1=y2 其中 898\sim 9 满足:x1+1=x2,y1+1=y2x1+1=x2,y1+1=y2

对于所有测试数据保证: 100xi,yi,x1,x2,y1,y2100-100 \leq x_i,y_i,x1,x2,y1,y2 \leq 100x1x2,y1y2x1\leq x2,y1 \leq y2,且安全区内不会有玩家

样例输入

1 1 3 3
4
10 10
-1 -1
-3 5
5 6

样例输出

9.899
2
2.828

2025CSP-J暑假模拟赛七

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-8-6 17:00
结束于
2025-8-16 17:00
持续时间
240 小时
主持人
参赛人数
15