题目描述
输入两个圆的坐标和半径,判断它们是否有交点
输入
第一行输入三个实数x1, y1, r表示第一个圆的坐标和半径,同理第二行输入三个数表示第二个圆的坐标和半径
输出
如果有交点输出”Yes“,否则输出”No"(不带双引号)
样例输入 复制
0 0 5
10 0 5
样例输出 复制
Yes
提示
注意:相切也算有交点
代码:
#include <bits/stdc++.h>
using namespace std;
using i64 = int64_t;
constexpr i64 mod = 998244353;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
long double x1,y1,r1,x2,y2,r2,R;
long double distance;
cin>>x1>>y1>>r1;
cin>>x2>>y2>>r2;
distance=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
R=r1+r2;
if(distance<=R&&distance>fabs(r1-r2))
cout<<"Yes";
else if(distance>=fabs(r1-r2)) //一个圆在另一个圆内相交(相切)
cout<<"Yes";
else
cout<<"No";
return 0;
}