題目
?
過程
難點:編號和位置的一一對應,不同位置的距離可能相等。
所以使用一個結構體記錄不同檢測點的編號和到居民地的距離。
sort函數進行排序。Sort函數使用方法
參考:http://t.csdnimg.cn/Y0Hpi
代碼
#include <bits/stdc++.h>
using namespace std;
int n,X,Y;
struct Position{int id;int dis;
};
bool cmp(Position a,Position b)
{if(a.dis==b.dis) return a.id<b.id;else return a.dis<b.dis;
}
int main()
{cin>>n>>X>>Y;map<int,int>D;Position p[n];for(int i=1;i<=n;i++){int x,y;cin>>x>>y;p[i].dis=pow((X-x),2)+pow((Y-y),2);p[i].id=i;}sort(p+1,p+n,cmp);for(int i=1;i<=3;i++){cout<<p[i].id<<endl; }return 0;}