Checkpoint query
from CCF-CSP 2020-09-1
Time limit:1s
Memory limit:256MB
Priority queue
ac code:
#include<iostream>
#include<algorithm>
using namespace std;
int n,x,y;
pair<int ,int> pii[205]; //存储某个检测点的编号和距离的平方
bool cmp(pair<int,int> a,pair<int,int> b){
//排序规则,如果距离相等则比较编号
if(a.second == b.second)
return a.first < b.first;
return a.second < b.second;
}
int main(){
cin>>n>>x>>y;
for(int i = 1;i <= n;++i){
//输入检测点信息
int a,b;cin>>a>>b;
pii[i].first = i;pii[i].second = (a - x) * (a - x) + (b - y) * (b - y);
}
sort(pii + 1,pii + 1 + n,cmp);//排序
for(int i = 1;i <= 3;++i) //输出前三个检测点
cout<<pii[i].first<<"\n";
return 0;
}