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 }

浙公网安备 33010602011771号