问题描述
解题思路
硬解法。
详细代码
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
typedef struct{
int x;
int y;
}Index;
int main(int argc, char *argv[]) {
int n,X,Y;
scanf("%d %d %d",&n,&X,&Y);
int i;
int a[n];
int j,min=0,minTip=0,max=0,maxTip=0;
Index index[n];
for(i=0;i<n;i++){
scanf("%d %d",&index[i].x,&index[i].y);
}
for(i=0;i<n;i++){
a[i]=pow(index[i].x-X,2)+pow(index[i].y-Y,2);
}
for(i=0;i<3;i++){
min=a[0];
minTip=0;
max=a[0];
maxTip=0;
for(j=0;j<n-1;j++){
if(a[j+1]<min){
min=a[j+1];
minTip=j+1;
}
if(a[j+1]>max){
max=a[j+1];
maxTip=j+1;
}
}
printf("%d\n",minTip+1);
a[minTip]=a[maxTip]+1;
}
return 0;
}