#include <stdio.h>
#include <math.h>
// 定義一個結構體,表示二維坐標點
typedef struct {
int x, y;
} Point;
int main() {
// 讀取輸入的誤差值和總共的藏身點數量
int err, n;
// 讀取目標點的坐標
Point target, hide_sites[n];
scanf("%d %d", &target.
x, &target.
y);
// 讀取所有藏身點的坐標
for (int i = 0; i < n; ++i) {
scanf("%d %d", &hide_sites
[i
].
x, &hide_sites
[i
].
y); }
// 初始化最小頭部誤差和頭部索引,最小軀幹誤差和軀幹索引
int min_head_error = 99999;
int head_index = -1;
int min_torso_error = 99999;
int torso_index1 = -1, torso_index2 = -1;
// 遍歷所有藏身點,計算與目標的距離,更新最小誤差和對應的索引
for (int i = 0; i < n; ++i) {
int distance_square = (hide_sites[i].x - target.x) * (hide_sites[i].x - target.x) +
(hide_sites[i].y - target.y) * (hide_sites[i].y - target.y);
int error
= sqrt(distance_square
);
// 更新最小頭部誤差和頭部索引
if (error <= min_head_error) {
min_head_error = error;
head_index = i;
}
// 更新最小軀幹誤差和軀幹索引
if (error <= min_torso_error) {
min_torso_error = error;
torso_index2 = torso_index1;
torso_index1 = i;
}
}
int error = 0;
int target_width = 0;
// 根據最小誤差計算目標的寬度
if (min_head_error <= 1000) {
target_width = 15;
} else if (min_torso_error <= 2000) {
target_width = 35;
}
// 計算誤差值
if (target_width > 0) {
error = (target_width * 100) / min_head_error;
}
// 根據目標的寬度和誤差值輸出結果
if (target_width == 15) {
// 如果目標是頭部,輸出頭部的藏身點索引
} else if (target_width == 35) {
// 如果目標是軀幹,輸出兩個軀幹的藏身點索引
printf("%d %d\n", torso_index1
, torso_index2
); } else {
// 如果無法擊中目標,輸出 "abort"
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgovLyDlrprnvqnkuIDlgIvntZDmp4vpq5TvvIzooajnpLrkuozntq3lnZDmqJnpu54KdHlwZWRlZiBzdHJ1Y3QgewogICAgaW50IHgsIHk7Cn0gUG9pbnQ7CgppbnQgbWFpbigpIHsKICAgIC8vIOiugOWPlui8uOWFpeeahOiqpOW3ruWAvOWSjOe4veWFseeahOiXj+i6q+m7nuaVuOmHjwogICAgaW50IGVyciwgbjsKICAgIHNjYW5mKCIlZCIsICZlcnIpOwogICAgc2NhbmYoIiVkIiwgJm4pOwoKICAgIC8vIOiugOWPluebruaomem7nueahOWdkOaomQogICAgUG9pbnQgdGFyZ2V0LCBoaWRlX3NpdGVzW25dOwogICAgc2NhbmYoIiVkICVkIiwgJnRhcmdldC54LCAmdGFyZ2V0LnkpOwoKICAgIC8vIOiugOWPluaJgOacieiXj+i6q+m7nueahOWdkOaomQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBzY2FuZigiJWQgJWQiLCAmaGlkZV9zaXRlc1tpXS54LCAmaGlkZV9zaXRlc1tpXS55KTsKICAgIH0KCiAgICAvLyDliJ3lp4vljJbmnIDlsI/poK3pg6joqqTlt67lkozpoK3pg6jntKLlvJXvvIzmnIDlsI/ou4DlubnoqqTlt67lkozou4DlubnntKLlvJUKICAgIGludCBtaW5faGVhZF9lcnJvciA9IDk5OTk5OwogICAgaW50IGhlYWRfaW5kZXggPSAtMTsKICAgIGludCBtaW5fdG9yc29fZXJyb3IgPSA5OTk5OTsKICAgIGludCB0b3Jzb19pbmRleDEgPSAtMSwgdG9yc29faW5kZXgyID0gLTE7CgogICAgLy8g6YGN5q235omA5pyJ6JeP6Lqr6bue77yM6KiI566X6IiH55uu5qiZ55qE6Led6Zui77yM5pu05paw5pyA5bCP6Kqk5beu5ZKM5bCN5oeJ55qE57Si5byVCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIGludCBkaXN0YW5jZV9zcXVhcmUgPSAoaGlkZV9zaXRlc1tpXS54IC0gdGFyZ2V0LngpICogKGhpZGVfc2l0ZXNbaV0ueCAtIHRhcmdldC54KSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhpZGVfc2l0ZXNbaV0ueSAtIHRhcmdldC55KSAqIChoaWRlX3NpdGVzW2ldLnkgLSB0YXJnZXQueSk7CiAgICAgICAgaW50IGVycm9yID0gc3FydChkaXN0YW5jZV9zcXVhcmUpOwoKICAgICAgICAvLyDmm7TmlrDmnIDlsI/poK3pg6joqqTlt67lkozpoK3pg6jntKLlvJUKICAgICAgICBpZiAoZXJyb3IgPD0gbWluX2hlYWRfZXJyb3IpIHsKICAgICAgICAgICAgbWluX2hlYWRfZXJyb3IgPSBlcnJvcjsKICAgICAgICAgICAgaGVhZF9pbmRleCA9IGk7CiAgICAgICAgfQoKICAgICAgICAvLyDmm7TmlrDmnIDlsI/ou4DlubnoqqTlt67lkozou4DlubnntKLlvJUKICAgICAgICBpZiAoZXJyb3IgPD0gbWluX3RvcnNvX2Vycm9yKSB7CiAgICAgICAgICAgIG1pbl90b3Jzb19lcnJvciA9IGVycm9yOwogICAgICAgICAgICB0b3Jzb19pbmRleDIgPSB0b3Jzb19pbmRleDE7CiAgICAgICAgICAgIHRvcnNvX2luZGV4MSA9IGk7CiAgICAgICAgfQogICAgfQoKICAgIGludCBlcnJvciA9IDA7CiAgICBpbnQgdGFyZ2V0X3dpZHRoID0gMDsKCiAgICAvLyDmoLnmk5rmnIDlsI/oqqTlt67oqIjnrpfnm67mqJnnmoTlr6zluqYKICAgIGlmIChtaW5faGVhZF9lcnJvciA8PSAxMDAwKSB7CiAgICAgICAgdGFyZ2V0X3dpZHRoID0gMTU7CiAgICB9IGVsc2UgaWYgKG1pbl90b3Jzb19lcnJvciA8PSAyMDAwKSB7CiAgICAgICAgdGFyZ2V0X3dpZHRoID0gMzU7CiAgICB9CgogICAgLy8g6KiI566X6Kqk5beu5YC8CiAgICBpZiAodGFyZ2V0X3dpZHRoID4gMCkgewogICAgICAgIGVycm9yID0gKHRhcmdldF93aWR0aCAqIDEwMCkgLyBtaW5faGVhZF9lcnJvcjsKICAgIH0KCiAgICAvLyDmoLnmk5rnm67mqJnnmoTlr6zluqblkozoqqTlt67lgLzovLjlh7rntZDmnpwKICAgIGlmICh0YXJnZXRfd2lkdGggPT0gMTUpIHsKICAgICAgICAvLyDlpoLmnpznm67mqJnmmK/poK3pg6jvvIzovLjlh7rpoK3pg6jnmoTol4/ouqvpu57ntKLlvJUKICAgICAgICBwcmludGYoIiVkXG4iLCBoZWFkX2luZGV4KTsKICAgIH0gZWxzZSBpZiAodGFyZ2V0X3dpZHRoID09IDM1KSB7CiAgICAgICAgLy8g5aaC5p6c55uu5qiZ5piv6LuA5bm577yM6Ly45Ye65YWp5YCL6LuA5bm555qE6JeP6Lqr6bue57Si5byVCiAgICAgICAgcHJpbnRmKCIlZCAlZFxuIiwgdG9yc29faW5kZXgxLCB0b3Jzb19pbmRleDIpOwogICAgfSBlbHNlIHsKICAgICAgICAvLyDlpoLmnpznhKHms5Xmk4rkuK3nm67mqJnvvIzovLjlh7ogImFib3J0IgogICAgICAgIHByaW50ZigiYWJvcnRcbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==