自创题求数据
2026-04-18 10:03:53
发布于:浙江
我自创了一道题(洛谷,U676249,现原题暂未公开)。题目 Markdown 文件链接,提取码:(题号后 位)。代码已经写好了,就是缺了数据。
标准代码:
#include <bits/stdc++.h>
using namespace std;
struct point
{
double x, y;
};
double distance(point A, point B)
{
return sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y));
}
double cross(point A, point B, point C)
{
return (B.x - A.x) * (C.y - A.y) - (B.y - A.y) * (C.x - A.x);
}
double become_collinear(point A, point B, point C)
{
double cr = fabs(cross(A, B, C)),
len = distance(A, B);
return cr / len;
}
int main()
{
int T;
scanf("%d", &T);
for (int i = 1; i <= T; i++)
{
point A, B, C;
scanf("%lf %lf %lf %lf %lf %lf", &A.x, &A.y, &B.x, &B.y, &C.x, &C.y);
if (fabs(cross(A, B, C)) < 1e-8)
{
double d1 = distance(A, B),
d2 = distance(A, C),
d3 = distance(B, C),
ans = max(d1, max(d2, d3));
printf("Yes %.2lf\n", ans);
}
else
{
double d1 = become_collinear(A, B, C),
d2 = become_collinear(A, C, B),
d3 = become_collinear(B, C, A),
ans = min(d1, min(d2, d3));
printf("No %.2lf\n", ans);
}
}
return 0;
}
目前已造数据如下
输入数据 #0
4
2 1 5 4 8 7
1 0 2 3 4 6
0 2 4 7 8 12
3 5 6 9 9 13
输出数据 #0
Yes 8.49
No 0.45
Yes 12.81
Yes 10.00
输入数据 #1
4
1 0 2 0 3 0
0 0 0 1 1 0
5 5 7 8 9 11
1 1 3 3 5 5
输出数据 #1
Yes 2.00
No 0.71
Yes 7.21
Yes 5.66
输入数据 #2
16
2 1 5 4 8.1 7
1 0 2 0 3 0
0 0 1 1 2 2
5 5 7 8.6 9 11
1 1 2 3 3 5
1 1 3 3 5 5
3 2 6 4 9 6
0 1 0 3 0 5
2 2 4 4 6 6.3
5 1 5 3.4 5 5
1 4 2 8 3 12
2 5 4.7 10 6 15
4 2 8 4 12 6
1 0 2 2 3 4
3 3 6 6 9 9
输出数据 #2
No 0.04
Yes 2.00
Yes 2.83
No 0.33
Yes 4.47
Yes 5.66
Yes 7.21
Yes 4.00
No 0.10
Yes 4.00
Yes 8.25
No 0.65
Yes 8.94
Yes 4.47
Yes 8.49
Yes 8.49
求帮造剩余的第 组数据。
这里空空如也



















有帮助,赞一个