구멍 난 도로
시간 제한2초메모리 제한256 MB
직사각형 도로 아래쪽 중앙에서 위쪽 중앙까지 원형 구멍을 피해 가는 최단 경로 길이를 구합니다.
문제
상태가 아주 나쁜 도로에서 작은 무선 조종 자동차를 몰고 있다. 도로에는 구멍이 가득하다. 구멍에 빠지면 자동차가 고칠 수 없을 만큼 망가지므로 구멍 위를 지나갈 수 없다. 도로 밖으로 나가는 것도 안 된다. 도로를 둘러싼 긴 풀숲에 들어가면 자동차를 영영 찾을 수 없다.
자동차는 아주 작아서 크기가 없는 점으로 본다. 도로는 폭이 미터, 길이가 미터이고 축과 나란히 놓여 있다. 자동차는 에서 출발해 까지 가야 한다. 구멍은 모두 완전한 원 모양이고, 서로 겹치거나 닿지 않으며 도로의 가장자리와도 닿지 않는다. 구멍의 경계를 스치듯 지나가는 것은 허용한다.
구멍을 피해 도착점까지 가는 가장 짧은 경로의 길이를 구하라.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다.
각 테스트 케이스의 첫 줄에는 구멍의 개수 , 도로의 폭 , 도로의 길이 이 정수로 주어진다. 이어지는 개의 줄에는 구멍 하나를 나타내는 세 정수 , , 가 주어진다. 중심이 이고 반지름이 인 원이라는 뜻이다.
출력
각 테스트 케이스마다 구멍을 피해 출발점에서 도착점까지 가는 가장 짧은 경로의 길이를 한 줄에 출력한다. 소수점 아래 여섯째 자리까지 반올림해 출력한다.