解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<math.h>
struct pointer
{
double x;
double y;
};
int main()
{
struct pointer m[2000];
int i, n, j,min_i=0,min_j=0;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%lf %lf", &m[i].x, &m[i].y);
double min_distance = 100000.0,distance;
for (i = 0; i < n-1; i++)
{
for (j = i + 1; j < n; j++)
{
distance = sqrt((m[i].x - m[j].x) * (m[i].x - m[j].x) + (m[i].y - m[j].y) * (m[i].y - m[j].y));
if (distance< min_distance)
{
min_distance = distance;
min_i = i + 1;
min_j = j + 1;
}
}
}
printf("%d %d", min_i, min_j);
return 0;
}
0.0分
0 人评分