Description
给定三个点(不共线)的坐标,要求以这三个点为圆心做三个圆,圆两两不相交,不包含,问三个圆的直径和最大为多少。
Input
第一行为测试数据组数t。接下来t行每行6个数为坐标。
Output
T行,每行一个整数表示直径和(取下整)。
Sample Input
1
0 0 0 1 1 0
Sample Output
3
Data Constraint
三个圆的最大直径就是链接三角形的周长
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cstdio>
#include<algorithm>
#include <cmath>
#define ll long long
using namespace std;
double x[10],y[10],len[10][10],maxx,num1,num2,minn,x1,x2,ans;
double tj (double l,double r)
{
if (l>r)
return l-r;
return r-l;
}
int main()
{
int t;
cin>>t;
while (t)
{
ans=0;
maxx=0;
minn=100000007;
memset (len,0,sizeof (len));
t--;
for (int j=1;j<=3;j++)
cin>>x[j]>>y[j];
for (int i=1;i<=3;i++)
for (int j=i+1;j<=3;j++)
{
if (i!=j)
{
if (x[i]==x[j]) len[i][j]=y[i]+y[j];
if (y[i]==y[j]) len[i][j]=x[i]+x[j];
if (x[i]!=x[j]&&y[i]!=y[j])
{
len[i][j]=sqrt(tj(x[i],x[j])*tj(x[i],x[j])+(tj(y[i],y[j])*tj(y[i],y[j])));
}
}
}
cout<<int (len[1][2]+len[1][3]+len[2][3])<<endl;
}
}