称检测点查询

称检测点查询


from CCF-CSP 2020-09-1
Time limit:1s
Memory limit:256MB

在这里插入图片描述
在这里插入图片描述


优先队列

ac代码:
#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;
}

sort函数方法

猜你喜欢

转载自blog.csdn.net/qq_45985728/article/details/114923042