SP7627 NE06D - Driving Direction
题目描述
在一个无限大的平面直角坐标系中,存在 $n$ 个各边均与坐标轴平行的矩形,求一个半径为 $r$ 的圆在不与矩形相交的情况下从 $(x_A,y_A)$ 运动到 $(x_B,y_B)$ 的最短距离。
输入格式
存在多组数据,请处理到文件末尾。
对于每组数据,第一行两个整数 $r,n$。
第二行四个整数 $x_A,y_A,x_B,y_B$。
接下来 $n$ 行,每行四个整数 $x_1,y_1,x_2,y_2$,表示一个矩形的左下角和右上角。
输出格式
对于每组数据,如果无法到达,输出 `no solution`,否则输出一个数,表示最短距离,至少精确到小数点后六位。
### 输入/输出样例
```
1 3
2 7 7 1
3 2 6 4
7 5 9 8
1 8 5 9
2 4
0 0 5 6
8 3 10 6
5 9 9 10
1 4 2 8
3 1 5 3
1 2
0 5 10 5
2 2 4 5
6 5 8 8
```
```
10.570796
no solution
11.652892
```
说明/提示
$1\le r\le 100,0\le n\le 30,-1000\le x_A,y_A,x_B,y_B\le 1000,-1000\le x_1,y_1, x_2,y_2\le1000,x_1