UOJ题目传送门 显然最优的路径只会经过若干条两个圆的公切线和若干段圆弧 为了方便,把起点终点看成两个半径为\(0\)的圆也行. 最烦的就是算两个圆的公切线了,一共有四条 对于靠外面的两条,我们把切线.半径和两圆心之间的线段连起来,会构成一个直角梯形. 我们可以求出两圆心连线的倾斜角,进而求出这两条切线的倾斜角,然后切线的直线方程就可以写出来了. 对于靠里面的两条,同样把切线.半径和两圆心之间的线段连起来,会出现两个相似三角形,同样可以把倾斜角求出来. 接着,判断这个切线段有没有被其它的圆挡住.…