給出圓的圓心和半徑,以及三角形的三個頂點,問圓同三角形是否相交。相交輸出"yes",否則輸出"no"。(三角形的面積大於0)。
第1行:乙個數t,表示輸入的測試數量(1 <= t <= 10000),之後每4行用來描述一組測試資料。
4-1:三個數,前兩個數為圓心的座標xc, yc,第3個數為圓的半徑r。(-3000 <= xc, yc <= 3000, 1 <= r <= 3000)
4-2:2個數,三角形第1個點的座標。
4-3:2個數,三角形第2個點的座標。
4-4:2個數,三角形第3個點的座標。(-3000 <= xi, yi <= 3000)
output
共t行,對於每組輸入資料,相交輸出"yes",否則輸出"no"。
input示例
20 0 10
10 0
15 0
15 5
0 0 10
0 05 0
5 5output示例
yesno
#include#include#include#includeusing namespace std;
#define eps 1e-8
struct point
;double dis(point p1,point p2)///兩點距離
double cross(point p1,point p2,point p3)///叉乘
double distoline(point p,point l1,point l2)///點到直線的距離
int isintersect(point c,double r,point l1,point l2)
{ double t1=dis(c,l1)-r, t2=dis(c,l2)-r;
point t=c;
if(t1-eps || t2>-eps;
t.x+=l1.y-l2.y;
t.y+=l2.x-l1.x;
return cross(l1,c,t)*cross(l2,c,t)
圓與三角形
1298 圓與三角形 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出圓的圓心和半徑,以及三角形的三個頂點,問圓同三角形是否相交。相交輸出 yes 否則輸出 no 三角形的面積大於0 第1行 乙個數t,表示輸入的測試數量 1 t 10000 之後每4行用來描述一組測試...
判斷三角形與圓是否相交
include include includeusing namespace std struct p struct circle int cmp double x 誤差處理 bool judge double a,double b,double c,double x1,double x2 一元二次...
1298 圓與三角形
1298 圓與三角形 hackerrank 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出圓的圓心和半徑,以及三角形的三個頂點,問圓同三角形是否相交。相交輸出 yes 否則輸出 no 三角形的面積大於0 第1行 乙個數t,表示輸入的測試數量 1 t 10000 之後...