A118947.皓仔的移动距离

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

皓仔站在一个 n×nn \times n 的方形地图上。

地图的左上角坐标为 (1,1)(1,1),右下角坐标为 (n,n)(n,n)。皓仔一开始站在 (1,1)(1,1)

接下来皓仔会进行 mm 次移动。每次移动会给出 44 个整数 u,d,l,ru,d,l,r,分别表示:

  • 向上移动 uu
  • 向下移动 dd
  • 向左移动 ll
  • 向右移动 rr

如果这次移动后的落点仍然在地图范围内,那么这次移动有效,皓仔会移动到新的位置。

如果这次移动后的落点在地图外,那么这次移动取消,皓仔的位置保持不变。

请你计算所有有效移动里,每次移动出发点到终点的直线距离的总和。

输入格式

第一行输入两个整数 n,mn,m,分别表示地图大小和移动次数。

接下来 mm 行,每行输入 44 个整数 u,d,l,ru,d,l,r,表示一次移动中向上、向下、向左、向右移动的距离。

输出格式

输出一个实数,表示所有有效移动的直线距离总和。

答案保留 22 位小数。

输入输出样例

  • 输入#1

    5 4
    0 3 0 4
    1 0 2 0
    5 0 0 0
    0 1 0 0

    输出#1

    8.24

说明/提示

【样例解释】

皓仔初始在 (1,1)(1,1)

11 次移动:向下 33 格,向右 44 格,落点为 (4,5)(4,5),在地图内。
本次移动距离为 55

22 次移动:向上 11 格,向左 22 格,落点为 (3,3)(3,3),在地图内。
本次移动距离为 12+22=5\sqrt{1^2+2^2}=\sqrt{5},约为 2.242.24

33 次移动:向上 55 格,落点会到地图外,本次移动取消。

44 次移动:向下 11 格,落点为 (4,3)(4,3),在地图内。
本次移动距离为 11

所以总距离为:

5+2.24+1=8.245+2.24+1=8.24

【数据范围】

对于所有测试数据保证:

  • 1n10001 \le n \le 1000
  • 1m10001 \le m \le 1000
  • 0u,d,l,r10000 \le u,d,l,r \le 1000
首页