A118947.皓仔的移动距离
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
皓仔站在一个 n×n 的方形地图上。
地图的左上角坐标为 (1,1),右下角坐标为 (n,n)。皓仔一开始站在 (1,1)。
接下来皓仔会进行 m 次移动。每次移动会给出 4 个整数 u,d,l,r,分别表示:
- 向上移动 u 格
- 向下移动 d 格
- 向左移动 l 格
- 向右移动 r 格
如果这次移动后的落点仍然在地图范围内,那么这次移动有效,皓仔会移动到新的位置。
如果这次移动后的落点在地图外,那么这次移动取消,皓仔的位置保持不变。
请你计算所有有效移动里,每次移动出发点到终点的直线距离的总和。
输入格式
第一行输入两个整数 n,m,分别表示地图大小和移动次数。
接下来 m 行,每行输入 4 个整数 u,d,l,r,表示一次移动中向上、向下、向左、向右移动的距离。
输出格式
输出一个实数,表示所有有效移动的直线距离总和。
答案保留 2 位小数。
输入输出样例
输入#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 次移动:向下 3 格,向右 4 格,落点为 (4,5),在地图内。
本次移动距离为 5。
第 2 次移动:向上 1 格,向左 2 格,落点为 (3,3),在地图内。
本次移动距离为 12+22=5,约为 2.24。
第 3 次移动:向上 5 格,落点会到地图外,本次移动取消。
第 4 次移动:向下 1 格,落点为 (4,3),在地图内。
本次移动距离为 1。
所以总距离为:
5+2.24+1=8.24
【数据范围】
对于所有测试数据保证:
- 1≤n≤1000
- 1≤m≤1000
- 0≤u,d,l,r≤1000