NC213861. 圆
描述
输入描述
第一行一个正整数 T,表示数据组数
接下来 T 行,每行六个整数,分别为 x1,y1,r1,x2,y2,r2 ,意义如题中描述一致
输出描述
输出共T行
对于每组数据,若有交则输出 YES,否则输出 NO
示例1
输入:
1 1 1 1 1 2 1
输出:
YES
C++(clang++11) 解法, 执行用时: 8ms, 内存消耗: 376K, 提交时间: 2020-11-19 14:01:29
#include<bits/stdc++.h> using namespace std; int main() { int t; cin>>t; while(t--) { double a,b,c,d,e,f; cin>>a>>b>>c>>d>>e>>f; double x=sqrt(pow((d-a),2)+pow((e-b),2)); if(x>c+f||abs(c-f)>x) printf("NO\n"); else printf("YES\n"); } }
Python3 解法, 执行用时: 47ms, 内存消耗: 4596K, 提交时间: 2022-01-12 21:24:18
for _ in range(int(input())): x1,y1,r1,x2,y2,r2=map(int,input().split()) r_r=pow(((x2-x1)**2+(y2-y1)**2),0.5) print("YES"if r_r<=r1+r2 and r_r>=abs(r1-r2)else "NO")