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";elsecout<<"NO";return 0;
}