#include <stdio.h>
#include <math.h>
struct HideSite {
int x, y;
double distanceToHead;
double distanceToTorso;
};
int main() {
int err, n, Tx, Ty;
scanf("%d %d", &Tx
, &Ty
);
struct HideSite hideSites[n];
for (int i = 0; i < n; ++i) {
scanf("%d %d", &hideSites
[i
].
x, &hideSites
[i
].
y); hideSites
[i
].
distanceToHead = sqrt(pow(hideSites
[i
].
x * 100 - Tx
, 2) + pow(hideSites
[i
].
y * 100 - Ty
, 2) - 225) / 100.0; // 將距離轉換為m hideSites
[i
].
distanceToTorso = sqrt(pow(hideSites
[i
].
x * 100 - Tx
, 2) + pow(hideSites
[i
].
y * 100 - Ty
, 2) - 1225) / 100.0; // 將距離轉換為m }
int headIndex = -1; // 初始化為-1
int torsoIndex = -1; // 初始化為-1
for (int i = 0; i < n; ++i) {
if (hideSites[i].distanceToHead <= err) {
headIndex = i;
break;
} else if (hideSites[i].distanceToTorso <= err) {
if (torsoIndex == -1) {
torsoIndex = i;
} else {
// 如果已經找到一個軀幹射擊位置,則找到下一個軀幹射擊位置時,比較距離,選擇較近的位置
if (hideSites[i].distanceToTorso < hideSites[torsoIndex].distanceToTorso) {
torsoIndex = i;
}
}
}
}
if (headIndex != -1) {
} else if (torsoIndex != -1) {
printf("%d %d\n", torsoIndex
, headIndex
); // 注意:這裡輸出的是軀幹射擊位置的索引和頭部射擊位置的索引 } else {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgpzdHJ1Y3QgSGlkZVNpdGUgewogICAgaW50IHgsIHk7CiAgICBkb3VibGUgZGlzdGFuY2VUb0hlYWQ7CiAgICBkb3VibGUgZGlzdGFuY2VUb1RvcnNvOwp9OwoKaW50IG1haW4oKSB7CiAgICBpbnQgZXJyLCBuLCBUeCwgVHk7CiAgICBzY2FuZigiJWQiLCAmZXJyKTsKICAgIHNjYW5mKCIlZCIsICZuKTsKICAgIHNjYW5mKCIlZCAlZCIsICZUeCwgJlR5KTsKCiAgICBzdHJ1Y3QgSGlkZVNpdGUgaGlkZVNpdGVzW25dOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgc2NhbmYoIiVkICVkIiwgJmhpZGVTaXRlc1tpXS54LCAmaGlkZVNpdGVzW2ldLnkpOwogICAgICAgIGhpZGVTaXRlc1tpXS5kaXN0YW5jZVRvSGVhZCA9IHNxcnQocG93KGhpZGVTaXRlc1tpXS54ICogMTAwIC0gVHgsIDIpICsgcG93KGhpZGVTaXRlc1tpXS55ICogMTAwIC0gVHksIDIpIC0gMjI1KSAvIDEwMC4wOyAvLyDlsIfot53pm6LovYnmj5vngrptCiAgICAgICAgaGlkZVNpdGVzW2ldLmRpc3RhbmNlVG9Ub3JzbyA9IHNxcnQocG93KGhpZGVTaXRlc1tpXS54ICogMTAwIC0gVHgsIDIpICsgcG93KGhpZGVTaXRlc1tpXS55ICogMTAwIC0gVHksIDIpIC0gMTIyNSkgLyAxMDAuMDsgLy8g5bCH6Led6Zui6L2J5o+b54K6bQogICAgfQoKICAgIGludCBoZWFkSW5kZXggPSAtMTsgLy8g5Yid5aeL5YyW54K6LTEKICAgIGludCB0b3Jzb0luZGV4ID0gLTE7IC8vIOWIneWni+WMlueCui0xCgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBpZiAoaGlkZVNpdGVzW2ldLmRpc3RhbmNlVG9IZWFkIDw9IGVycikgewogICAgICAgICAgICBoZWFkSW5kZXggPSBpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9IGVsc2UgaWYgKGhpZGVTaXRlc1tpXS5kaXN0YW5jZVRvVG9yc28gPD0gZXJyKSB7CiAgICAgICAgICAgIGlmICh0b3Jzb0luZGV4ID09IC0xKSB7CiAgICAgICAgICAgICAgICB0b3Jzb0luZGV4ID0gaTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIOWmguaenOW3sue2k+aJvuWIsOS4gOWAi+i7gOW5ueWwhOaTiuS9jee9ru+8jOWJh+aJvuWIsOS4i+S4gOWAi+i7gOW5ueWwhOaTiuS9jee9ruaZgu+8jOavlOi8g+i3nembou+8jOmBuOaTh+i8g+i/keeahOS9jee9rgogICAgICAgICAgICAgICAgaWYgKGhpZGVTaXRlc1tpXS5kaXN0YW5jZVRvVG9yc28gPCBoaWRlU2l0ZXNbdG9yc29JbmRleF0uZGlzdGFuY2VUb1RvcnNvKSB7CiAgICAgICAgICAgICAgICAgICAgdG9yc29JbmRleCA9IGk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaWYgKGhlYWRJbmRleCAhPSAtMSkgewogICAgICAgIHByaW50ZigiJWRcbiIsIGhlYWRJbmRleCk7CiAgICB9IGVsc2UgaWYgKHRvcnNvSW5kZXggIT0gLTEpIHsKICAgICAgICBwcmludGYoIiVkICVkXG4iLCB0b3Jzb0luZGV4LCBoZWFkSW5kZXgpOyAvLyDms6jmhI/vvJrpgJnoo6HovLjlh7rnmoTmmK/ou4DlubnlsITmk4rkvY3nva7nmoTntKLlvJXlkozpoK3pg6jlsITmk4rkvY3nva7nmoTntKLlvJUKICAgIH0gZWxzZSB7CiAgICAgICAgcHJpbnRmKCJhYm9ydFxuIik7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K