hdu4720 三角形的最小圓覆蓋

2021-06-18 08:07:57 字數 1390 閱讀 9026

求乙個三角形的最小圓覆蓋

兩種情況:

1. 是銳角及直角三角形, 那麼這個圓就是外接圓

2. 是鈍角三角形, 那麼這個圓的直徑是這個最長邊的中點

double getdis(point a, point b)

///  

//求三角形外接圓圓心座標 及半徑

///

void circle_center(point ¢er,point pt[3],double &radiu) //引數是圓心和半徑的引用

bool judgedunjiao(point pt[3], point ¢er, double &r) //判斷是否是鈍角, 引數是引用

else if(b * b > a * a + c * c)

else if(c * c > a * a + b * b)

else

return false;

}

ac**:

#include #include #include #include #include #include #include #define print(a) cout << #a << " : " << a << endl;

using namespace std;

const int m = 1003;

const double e = 1e-6;

struct point

;point wi[4];

double getdis(point a, point b)

///

//求三角形外接圓圓心座標 及半徑

///

void circle_center(point ¢er,point pt[3],double &radiu) //引數是圓心和半徑的引用

bool judgedunjiao(point pt[3], point ¢er, double &r)

else if(b * b > a * a + c * c)

else if(c * c > a * a + b * b)

else

return false;

}void solve()

circle_center(center, wi, r);

double dis = getdis(center, wi[3]);

if(dis - r > 0)

cout << "safe" << endl;

else

cout << "danger" << endl;

}int main()

return 0;

};

求大三角形中三角形個數

一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...

經典演算法 (三)帕斯卡三角形(楊輝三角形)

楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在1654年發現這一規律的,比楊輝要遲393年,比賈憲遲600年。簡介 楊輝三角,是二項式係數在三角形中的一種幾何排列。在歐洲,這個表叫做帕斯卡三角形。帕斯卡 1623 1662 是在165...

三角形面積

算是自己第一道正式寫的演算法幾何吧,先從簡單的開始吧,加油!描述 給你三個點,表示乙個三角形的三個頂點,現你的任務是求出該三角形的面積 輸入 每行是一組測試資料,有6個整數x1,y1,x2,y2,x3,y3分別表示三個點的橫縱座標。座標值都在0到10000之間 輸入0 0 0 0 0 0表示輸入結束...