📄 3387530_tle.cc
字号:
#include <stdio.h>
#include <math.h>
int n;
int point[660][2];
int main()
{
int cas;
int i, j, k;
double ans, tmp;
double ax, ay, bx, by, cx, cy;
double dx, dy, ex, ey, a1, a2, b1, b2, c1, c2, x, y;
scanf("%d", &cas);
while (cas-- > 0)
{
scanf("%d", &n);
ans = 0.0;
for (i = 0; i < n; i++)
{
scanf("%d%d", &point[i][0], &point[i][1]);
}
for (i = 0; i < n; i++)
{
ax = point[i][0];ay = point[i][1];
for (j = i + 1; j < n; j++)
{
bx = point[j][0];by = point[j][1];
for (k = j + 1; k < n; k++)
{
cx = point[k][0];cy = point[k][1];
dx = (ax + cx) / 2.0; dy = (ay + cy) / 2.0;
ex = (bx + cx) / 2.0; ey = (by + cy) / 2.0;
a1 = cx - ax; b1 = cy - ay; c1 = dx * a1 + dy * b1;
a2 = cx - bx; b2 = cy - by; c2 = ex * a2 + ey * b2;
x = (c1 * b2 - c2 * b1) / (a1 * b2 - a2 * b1);
y = (c1 * a2 - c2 * a1) / (b1 * a2 - b2 * a1);
tmp = (x - ax) * (x - ax) + (y - ay) * (y - ay);
if (tmp > ans)
{
ans = tmp;
}
}
}
}
printf("%.3lf\n", sqrt(ans));
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -