1298 圓與三角形

2022-02-18 01:53:36 字數 1382 閱讀 8492

給出圓的圓心和半徑,以及三角形的三個頂點,問圓同三角形是否相交。相交輸出"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)

共t行,對於每組輸入資料,相交輸出"yes",否則輸出"no"。

2

0 0 10

10 0

15 0

15 5

0 0 10

0 05 0

5 5

yes

no只要找到方法,這題就很好做.

主要是要有幾何模板

1 #include 2

#define inf 0x3f3f3f3f

3using

namespace

std;45

double ptosdist(double x, double y, double xx, double yy, double x2, double

y2)14

double r = cnt/ans;

15double px = xx + (x2 - xx)*r;

16double py = yy + (y2 - yy)*r;

17return sqrt((x - px)*(x - px) + (py - y)*(py -y));18}

1920

double ptopdist(double x, double y, double xx, double

yy)23

intt;

24double xn[4], yk[4

];25

26int

main()

37for(int i = 0; i < 3; i++)

41if(an <= r && bn >=r)else46}

47return0;

48 }

1298 圓與三角形

1298 圓與三角形 hackerrank 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出圓的圓心和半徑,以及三角形的三個頂點,問圓同三角形是否相交。相交輸出 yes 否則輸出 no 三角形的面積大於0 第1行 乙個數t,表示輸入的測試數量 1 t 10000 之後...

1298 圓與三角形

給出圓的圓心和半徑,以及三角形的三個頂點,問圓同三角形是否相交。相交輸出 yes 否則輸出 no 三角形的面積大於0 第1行 乙個數t,表示輸入的測試數量 1 t 10000 之後每4行用來描述一組測試資料。4 1 三個數,前兩個數為圓心的座標xc,yc,第3個數為圓的半徑r。3000 xc,yc ...

1298 圓與三角形(計算幾何)

input 第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...