枪手

问题描述
一个三维直角坐标系OXYZ,OX轴向右,OY轴向上,OZ轴向外。再坐标系中,有一些矩形的窗口。窗口所在的平面平行与OXY平面,边分别平行于OX轴与OY轴。灭一个窗口被放置于坐标系的不同的深度(每个窗口的Z轴坐标不同,并且大于0)。
一个枪手拿着步枪再OX轴上移动(y=0,z=0)。他可以延一条直线射出一颗子弹。他的目标是射出一颗可以通过所有窗口的子弹,子弹擦过窗口边缘也是可以的。你的任务是要求出怎么打出这样一颗子弹。
输入格式
输入文件的第一行包含一个整数n——坐标系中窗口的数量(不超过100)。
接下来n行,灭一行包含5个整数x1i,y1i,x2i,y2i,zi(0<x1i,y1i,x2i,y2i,zi<1 000),这里(x1i,y1i,zi)是窗口左下角的坐标,(x2i,y2i,zi)是窗口右上角的坐标(x1i<x2i,y1i<y2i),窗口以坐标排序(对于2≤i≤n,Zi>Z(i-1) i-1为下标)
输出格式
如果枪手不能射出一颗通过所有窗口的子弹,那么输出“UNSOLVABLE";
否则,第一行输出“SOLUTION"。接下来一行输出枪手射击的X轴坐标系。接下来n行输出子穿过相应的窗口的位置。输出的所有坐标保留6位小数。
输入样例
3
1 3 5 5 3
1 2 5 7 5
5 2 7 6 6
输出样例
-1.000000
2.000000 3.000000 3.000000
4.000000 5.000000 5.000000
5.000000 6.000000 6.000000
样例图https://pan.baidu.com/s/1ownROD2HzxSJHf4glGxcRw