zju1090

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
bool isSucceed();
void Cal_abc(double &a, double &b, double &c);
const double PI = 3.141592653589793;

struct Coordinate{
	double x, y;
};
Coordinate coordinate[3];
int main()
{
	double a, b, c;
	double p, s, r;
	double C;
	while (cin >> coordinate[1].x >> coordinate[1].y >> coordinate[2].x >> coordinate[2].y >> coordinate[3].x >> coordinate[3].y)
	{
		if (!isSucceed) return 0;
		Cal_abc(a, b, c);
		p = (a + b + c) / 2;
		s = sqrt(p * (p - a) * (p - b) * (p - c));
		r = (a * b * c) / (4 * s);
		C = 2 * PI * r;
		cout << setprecision(2) << setiosflags(ios::fixed) << C << endl;
	}
	return 0;
}
bool isSucceed()
{
	if (coordinate[1].x == coordinate[2].x && coordinate[1].y == coordinate[2].y)
		return false;
	if (coordinate[1].x == coordinate[3].x && coordinate[1].y == coordinate[3].y)
		return false;
	if (coordinate[2].x == coordinate[3].x && coordinate[2].y == coordinate[3].y)
		return false;
	return true;
}
void Cal_abc(double &a, double &b, double &c)
{
	a = sqrt((coordinate[1].x - coordinate[2].x) * (coordinate[1].x - coordinate[2].x) + (coordinate[1].y - coordinate[2].y) * (coordinate[1].y - coordinate[2].y));
	b = sqrt((coordinate[1].x - coordinate[3].x) * (coordinate[1].x - coordinate[3].x) + (coordinate[1].y - coordinate[3].y) * (coordinate[1].y - coordinate[3].y));
	c = sqrt((coordinate[2].x - coordinate[3].x) * (coordinate[2].x - coordinate[3].x) + (coordinate[2].y - coordinate[3].y) * (coordinate[2].y - coordinate[3].y));
	return;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值