1765. Circle

博客围绕给定三个不共线点坐标,以这三点为圆心作两两不相交、不包含的圆,求解三个圆直径和最大值的问题。介绍了输入为测试数据组数及坐标,输出为直径和(取下整),并给出示例,还指出最大直径和即三角形周长。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值