202009-1 检测点检测

解释:

  简单题,计算所有的距离,保存就可以了。STL永远的神!

注意:

  注意当距离相同时,应该怎么排序。

 1 #include<bits/stdc++.h>
 2 #include<vector>
 3 #include<algorithm>
 4 #include<vector>
 5 using namespace std;
 6 struct node {
 7     int i;
 8     int d;
 9 };
10 bool cmp(node p,node q){
11     if(p.d==q.d){
12         return p.i<q.i;
13     }
14     return p.d<q.d;
15 }
16 int main()
17 {
18     int n;
19     cin>>n;
20     int x,y;
21     cin>>x>>y;
22     vector<node> v;
23     for(int i=0;i<n;i++){
24         node temp;
25         temp.i=i+1;
26         int a,b;
27         cin>>a>>b;
28         temp.d=(x-a)*(x-a)+(y-b)*(y-b);
29         v.push_back(temp);
30     }
31     sort(v.begin(),v.end(),cmp);
32     for(int i=0;i<3;i++){
33         cout<<v[i].i<<endl;
34     }
35     return 0;
36 }

 

posted @ 2021-03-16 18:10  南理工学渣  阅读(28)  评论(0)    收藏  举报