当前位置: 代码迷 >> 综合 >> CCF认证 202009-1检测点查询
  详细解决方案

CCF认证 202009-1检测点查询

热度:23   发布时间:2024-02-20 23:32:33.0

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
样例1输入:
3 2 2
2 2
2 3
2 4
样例2输入:
5 0 1
-1 0
0 0
1 0
0 2
-1 2

#include<cstdio>
#include<algorithm>
using namespace std;
struct dis{
    int num;//检测点编号int x;int y;int distance;//与市民的距离
}a[201];
bool cmp(dis b,dis c)
{
    if(b.distance!=c.distance )return b.distance<c.distance;else return b.num<c.num;}
int main()
{
    int n,X,Y;scanf("%d%d%d",&n,&X,&Y);for(int i=1;i<=n;i++){
    a[i].num=i;scanf("%d%d",&a[i].x,&a[i].y);a[i].distance=(X-a[i].x)*(X-a[i].x)+(Y-a[i].y)*(Y-a[i].y);}sort(a,a+n,cmp);for(int i=1;i<=3;i++){
    printf("%d\n",a[i].num);}return 0;
}