Pro.ID22701 TitleGSM phone Title链接http://10.20.2.8/oj/exercise/problem?problem_id=22701 AC0 Submit0 Ratio- 时间&空间限制描述Mr. X wants to travel from a point A(Xa, Ya) to a point B(Xb, Ya), A ≠ B. He has a GSM mobile phone and wants to stay available during whole the trip. A local GSM operator has installed K sets of GSM equipment in points Pi(Xi, Yi), 1 ≤ i ≤ K. Each set of the equipment provides circular zone Zi. Point Pi is the center of the zone Zi and Ri is its radius. Mobile phones can operate inside such a zone and on its border. Zones can intersect, but no zone completely includes another one. Your task is to find the length of the shortest way from A to B which is completely covered by GSM zones. You may assume that such a way always exists. Precision of calculations has to be 0.00001. 输入The first line contains four floating point numbers Xa Ya Xb Yb, separated by one or more spaces. The next line contains single integer number K ( K ≤ 200 ). Each of the rest K lines of the file contains three floating point numbers Xi, Yi, Ri separated by one or more spaces. Ri > 0. 输出Description Mr. X wants to travel from a point A(Xa, Ya) to a point B(Xb, Ya), A ≠ B. He has a GSM mobile phone and wants to stay available during whole the trip. A local GSM operator has installed K sets of GSM equipment in points Pi(Xi, Yi), 1 ≤ i ≤ K. Each set of the equipment provides circular zone Zi. Point Pi is the center of the zone Zi and Ri is its radius. Mobile phones can operate inside such a zone and on its border. Zones can intersect, but no zone completely includes another one. Your task is to find the length of the shortest way from A to B which is completely covered by GSM zones. You may assume that such a way always exists. Precision of calculations has to be 0.00001. Input The first line contains four floating point numbers Xa Ya Xb Yb, separated by one or more spaces. The next line contains single integer number K ( K ≤ 200 ). Each of the rest K lines of the file contains three floating point numbers Xi, Yi, Ri separated by one or more spaces. Ri > 0. Output Output a single floating point number. Sample Input 0 0 8 0 Sample Output 8.24621 Source 样例输入0 0 8 0 样例输出8.24621 作者 |