JZOJ 1765. Circle 1011474322

题目

Description

  给定三个点(不共线)的坐标,要求以这三个点为圆心做三个圆,圆两两不相交,不包含,问三个圆的直径和最大为多少。
 

Input

  第一行为测试数据组数t。接下来t行每行6个数为坐标。

Output

  T行,每行一个整数表示直径和(取下整)。
 

Sample Input

1
0 0 0 1 1 0

Sample Output

3
 

Data Constraint

 

分析

 

  • 切线长定理,所以当他为三角形周长时,结论一定成立

代码

#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
    int T;
    cin>>T;
    while (T)
    {
        T--;
        long long x1,y1,x2,y2,x3,y3;
        cin>>x1>>y1>>x2>>y2>>x3>>y3;
        double a=(sqrt(((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))));
        double b=(sqrt(((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3))));
        double c=(sqrt(((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3))));
        cout<<(long long)(a+b+c)<<endl;
    }
}

 

posted @ 2019-07-09 16:36  Melted_czj  阅读(151)  评论(0编辑  收藏  举报
body { background-color:whitesmoke; } // 修改背景颜色为半透明 #home,#sideBarMain>div,#blog-sidecolumn>div>div,.catListView{ background-color:rgba(255,255,255,0); } // 修改其他边框的颜色