• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            算法學社
            記錄難忘的征途
            posts - 141,comments - 220,trackbacks - 0
            題目描述:
               求四個點的費馬點與這四個點的距離和。

            算法分析:
               如果四個點構成凸四邊形,那么費馬點在四邊形交點處。
               否則費馬點一定是其中的某一個點。

            #include<cstdio>
            #include<cmath>
            #include<iostream>
            #include<algorithm>
            #include<complex>
            using namespace std;
            #define X real
            #define Y imag
            const double eps = 1e-9;
            typedef complex <double> pnt;
            pnt p[4];
            bool cmp(const pnt &a ,const pnt &b){
                return arg(a-p[0]) < arg(b-p[0]);
            }
            static double cross(const pnt &a ,const pnt &b) { return imag(conj(a) * b);}
            int main(){
                double x1,y1,x2,y2,x3,y3,x4,y4;
                while(cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4 && x1!=-1.0){
                    p[0] = pnt(x1,y1), p[1] = pnt(x2,y2) , p[2] = pnt(x3,y3),p[3] = pnt(x4,y4);
                    int s = 0; double ans = -1;
                    for(int t = 0; t <4; t++) {
                        double v = 0;
                        for(int i=0;i<4;i++) if(i!=t)
                            v += abs(p[t]-p[i]);
                        if(v < ans || ans == -1.0) ans = v;
                    }
                    for(int i=1;i<4;i++)
                        if(Y(p[i]) == Y(p[s]) ? X(p[i]) < X(p[s]) : Y(p[i]) < Y(p[s]))
                            s = i;
                    swap(p[s],p[0]);
                    sort(p+1,p+4,cmp);
                    if(cross(p[2]-p[1],p[3]-p[1])>0) {
                        double v = abs(p[0] - p[2]) + abs(p[1]-p[3]);
                        if(v < ans) ans = v;
                    }
                    printf("%.4lf\n",ans);
                }
            }
            posted on 2012-08-03 16:26 西月弦 閱讀(183) 評論(0)  編輯 收藏 引用 所屬分類: 解題報告
            亚洲Av无码国产情品久久| 久久久噜噜噜久久熟女AA片 | 99久久精品日本一区二区免费| 久久久久亚洲AV成人网人人网站| 丰满少妇人妻久久久久久4| 久久最新免费视频| 久久精品国产亚洲AV高清热 | 亚洲精品tv久久久久久久久 | 中文字幕一区二区三区久久网站| 久久最近最新中文字幕大全 | 狠狠色丁香久久婷婷综合_中 | 久久精品国产亚洲网站| 亚洲精品第一综合99久久| 日韩人妻无码精品久久免费一| 99久久精品无码一区二区毛片| 精品伊人久久久| 国产成人久久久精品二区三区| 久久精品国产精品亚洲精品| 国产精品日韩深夜福利久久| 人妻精品久久久久中文字幕69| 精品久久久久中文字幕一区| 国产麻豆精品久久一二三| 久久无码高潮喷水| 久久婷婷五月综合97色直播| 国产综合久久久久| 久久久久成人精品无码中文字幕| 亚洲国产天堂久久综合| 久久99精品久久久久久噜噜| 亚洲狠狠综合久久| 久久被窝电影亚洲爽爽爽| 欧美精品久久久久久久自慰| 亚洲&#228;v永久无码精品天堂久久| 97久久精品无码一区二区| 久久人人爽人人爽人人片av高请 | A狠狠久久蜜臀婷色中文网| 亚洲欧美一区二区三区久久| 国产日韩久久久精品影院首页| 久久精品无码一区二区WWW| 久久久一本精品99久久精品88| 狠狠色丁香婷婷综合久久来来去| 伊人久久大香线蕉综合影院首页|