http://118.190.20.162/view.page?gpid=T113
100分

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <math.h>

using namespace std;

const int MAXN = 202;

struct point{
    int id;
    int x;
    int y;
    double dis;
}points[MAXN];

bool cmp(point a, point b){
    if(a.dis != b.dis){
        return a.dis < b.dis;
    }else{
        return a.id < b.id;
    }
}

int main(){
    int n, x, y;
    scanf("%d %d %d", &n, &x, &y);
    point tmp;
    int k = 0;
    for(int i = 0; i < n; i++){     
        cin >> tmp.x >> tmp.y;
        tmp.id = i+1;
        tmp.dis = pow(pow(tmp.x-x, 2) + pow(tmp.y-y, 2), 0.5);
        points[k++] = tmp;
    }
    sort(points, points+n, cmp);
    for(int i = 0; i < 3; i++){
        printf("%d\n", points[i].id);
    }
    return 0;
}