日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

hdu 4720

發(fā)布時間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu 4720 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最小覆蓋圓的模板;

  1 #include<stdio.h>
  2 #include<string.h>
  3 #include<math.h>
  4 struct Point
  5 {
  6     double x;
  7     double y;
  8 } pt[1005];
  9 struct Traingle
 10 {
 11     struct Point p[3];
 12 };
 13 struct Circle
 14 {
 15     struct Point center;
 16     double r;
 17 } ans;
 18 //計算兩點距離
 19 double Dis(struct Point p, struct Point q)
 20 {
 21     double dx=p.x-q.x;
 22     double dy=p.y-q.y;
 23     return sqrt(dx*dx+dy*dy);
 24 }
 25 //計算三角形面積
 26 double Area(struct Traingle ct)
 27 {
 28     return
 29         fabs((ct.p[1].x-ct.p[0].x)*(ct.p[2].y-ct.p[0].y)-(ct.p[2].x-ct.p[0].x)*(ct.p[1].y-ct.p[0].y))/2.0;
 30 }
 31 //求三角形的外接圓,返回圓心和半徑(存在結(jié)構(gòu)體"圓"中)
 32 struct Circle CircumCircle(struct Traingle t)
 33 {
 34     struct Circle tmp;
 35     double a, b, c, c1, c2;
 36     double xA, yA, xB, yB, xC, yC;
 37     a = Dis(t.p[0], t.p[1]);
 38     b = Dis(t.p[1], t.p[2]);
 39     c = Dis(t.p[2], t.p[0]);
 40 //根據(jù)S = a * b * c / R / 4;求半徑R
 41     tmp.r = (a*b*c)/(Area(t)*4.0);
 42     xA = t.p[0].x;
 43     yA = t.p[0].y;
 44     xB = t.p[1].x;
 45     yB = t.p[1].y;
 46     xC = t.p[2].x;
 47     yC = t.p[2].y;
 48     c1 = (xA*xA+yA*yA - xB*xB-yB*yB) / 2;
 49     c2 = (xA*xA+yA*yA - xC*xC-yC*yC) / 2;
 50     tmp.center.x = (c1*(yA - yC)-c2*(yA - yB)) / ((xA - xB)*(yA - yC)-(xA - xC)*(yA - yB));
 51     tmp.center.y = (c1*(xA - xC)-c2*(xA - xB)) / ((yA - yB)*(xA - xC)-(yA - yC)*(xA - xB));
 52     return tmp;
 53 }
 54 //確定最小包圍圓
 55 struct Circle MinCircle(int num, struct Traingle ct)
 56 {
 57     struct Circle ret;
 58     if (num==0) ret.r = 0.0;
 59     else if (num==1)
 60     {
 61         ret.center = ct.p[0];
 62         ret.r = 0.0;
 63     }
 64     else if (num==2)
 65     {
 66         ret.center.x = (ct.p[0].x+ct.p[1].x)/2.0;
 67         ret.center.y = (ct.p[0].y+ct.p[1].y)/2.0;
 68         ret.r = Dis(ct.p[0], ct.p[1])/2.0;
 69     }
 70     else if(num==3) ret = CircumCircle(ct);
 71     return ret;
 72 }
 73 //遞歸實現(xiàn)增量算法
 74 void Dfs(int x, int num, struct Traingle ct)
 75 {
 76     int i, j;
 77     struct Point tmp;
 78     ans = MinCircle(num, ct);
 79     if (num==3) return;
 80     for (i=1; i<=x; i++)
 81         if (Dis(pt[i], ans.center)>ans.r)
 82         {
 83             ct.p[num]=pt[i];
 84             Dfs(i-1, num+1, ct);
 85             tmp=pt[i];
 86             for (j=i; j>=2; j--)
 87                 pt[j]=pt[j-1];
 88             pt[1]=tmp;
 89         }
 90 }
 91 void Solve(int n)
 92 {
 93     struct Traingle ct;
 94     Dfs(n, 0, ct);
 95 }
 96 int main (void)
 97 {
 98     int n, i,t;
 99     int ca=1;
100     scanf("%d",&t);
101     while (t--)
102     {
103         for (i=1; i<=3; i++)
104             scanf("%lf %lf", &pt[i].x, &pt[i].y);
105         Solve(3);
106         double xx,yy;
107         scanf("%lf%lf",&xx,&yy);
108         printf("Case #%d: ",ca++);
109         if((xx-ans.center.x)*(xx-ans.center.x)+(yy-ans.center.y)*(yy-ans.center.y)<=(ans.r)*(ans.r))
110             puts("Danger");
111         else puts("Safe");
112     }
113     return 0;
114 }
View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/yours1103/p/3317640.html

總結(jié)

以上是生活随笔為你收集整理的hdu 4720的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 激情欧美一区二区免费视频 | 亚洲老女人 | 精品国产精品国产偷麻豆 | 在线观看亚洲欧美 | 精品国产无码在线 | 国产视频在线观看一区二区 | 婷婷色网站 | 日韩av在线播放一区 | 香蕉网伊 | 在线免费观看黄色小视频 | 成年人视频免费在线观看 | 3d动漫啪啪精品一区二区中文字幕 | 一区二区三区在线电影 | 第一福利av | 天天插插 | 午夜精品久久久久久久96蜜桃 | 欧美经典一区二区 | 国内自拍青青草 | 黄色美女毛片 | 中文字幕在线播放不卡 | 国产又粗又长 | 精品人妻一区二区三区潮喷在线 | 91一区视频 | 日本草逼视频 | 日韩色资源 | 婷婷激情社区 | 成年人在线免费看 | 欧美一区二区三区影院 | 亚洲免费精品 | 国产高清在线观看视频 | 国产做爰全过程免费视频 | eeuss国产一区二区三区 | 国产精品丝袜黑色高跟 | 国产无码精品一区二区 | 九色91av | 天堂欧美城网站网址 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 国产一区激情 | 波多野结衣高清电影 | 亚洲欧美国产高清 | 欧美1区2区3区4区 | 婷婷操| 亚洲色图插插插 | 国产女人和拘做受视频免费 | 久久99国产精品一区 | 欧美日韩一本 | 一区二区网 | 红桃视频成人在线 | 久久综合亚洲精品 | 国产成人一区二区三区免费看 | 秋霞视频一区二区 | 国产高潮又爽又无遮挡又免费 | 国产欧美日韩专区 | 精品视频第一页 | 国产亚洲精 | 日韩精品一区二区三区av | 国产精品极品白嫩 | a在线v| 在线观看一二三区 | 久草麻豆| 国产l精品国产亚洲区久久 午夜青青草 | 在线不卡日本 | 最新黄色av | 男女草逼| 天天做天天爽 | 哺乳期av | 午夜黄色| 亚洲永久精品一区二区 | 亚洲一区二区三区91 | 不卡在线播放 | 日本黄色片一级 | 青青草视频成人 | 青娱乐导航 | 日韩电影在线一区二区 | 国产熟妇搡bbbb搡bbbb搡 | 国产高清视频一区二区 | 在线视频成人 | 涩涩天堂 | а√天堂www在线天堂小说 | 麻豆一区二区99久久久久 | 男人私人影院 | 天天综合永久入口 | 99热这里只有精品在线观看 | a天堂亚洲 | 柠檬av导航| 9999在线视频| 成人夜夜 | 日韩精品视频久久 | 日本bbwbbw | 成人免费毛片高清视频 | 亚洲AV无码一区二区伊人久久 | 中文字幕免费在线看线人动作大片 | 久久综合91 | 特级西西444www高清大视频 | 四虎国产视频 | 永久免费观看av | 美女的隐私免费看 | 在线视频网 | 亚洲精品另类 |