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;
}