赞
踩
难点:编号和位置的一一对应,不同位置的距离可能相等。
所以使用一个结构体记录不同检测点的编号和到居民地的距离。
sort函数进行排序。Sort函数使用方法
- #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;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。