MT1181 圆包含
输入2个圆的圆心的坐标值(x,y)和半径,判断断一个圆是否完全包含另一个圆,输出YES或者NO。另:内切不算做完全包含。
格式
输入格式:输入整型,空格分隔。 每行输入一组信息。
输出格式:输出YES或者NO
样例 1
输入:
-20 20 50 50 50 1
输出:NO
思路:
是否完全包含是:两圆心距离之和小于大圆半径,同时距离加小圆半径小于大圆半径
易错点!!要判断那个半径大,不一定是先输入的半径大
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x1,y1,x2,y2,r1,r2;
cin>>x1>>y1>>r1;
cin>>x2>>y2>>r2;
double l=sqrt(pow(x1-x2,2)+pow(y1-y2,2));
//一定要判断大小
if(r1<r2)
{
int tmp=r1;
r1=r2;r2=tmp;
}
if(l<r1&&(l+r2<r1))
cout<<"YES";
else
cout<<"NO";
return 0;
}