两点之间的距离大小比较可直接用距离的平方比较;
#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<int,int> a,pair<int,int> b)
{
if(a.second==b.second)
return a.first<b.first;
else
return a.second<b.second;
}
int main()
{
int n,x,y;
cin>>n>>x>>y;
int a,b;
pair<int,int> arr[n];
for(int i=0;i<n;i++)
{
cin>>a>>b;
arr[i].first=i;
arr[i].second=(x-a)*(x-a)+(y-b)*(y-b);
}
sort(arr,arr+n,cmp);
for(int i=0;i<3;i++)
cout<<arr[i].first+1<<endl;
return 0;
}
距离得从小到大排序但是又要输出编号,且当距离相等时按编号大小输出,因此可以用pair对组实现排序