CCF202009-1 称监测点查询
嵌套循环的方法实现监测点查询
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n, X, Y;
n = sc.nextInt();
X = sc.nextInt();
Y = sc.nextInt();
int[] x = new int[n];
int[] y = new int[n];
int[] dis = new int[n];//距离数组
for(int i = 0; i < n; i++){//获取输入的点
for(int j = 0; j < 2; j++){
x[i] = sc.nextInt();
y[i] = sc.nextInt();
break;
}
dis[i] = (x[i]-X)*(x[i]-X) + (y[i]-Y)*(y[i]-Y);
}
int[] index = new int[n];//存放距离数组下标
for(int j = 0; j < n; j++){//选出最小的数,并把下标存入index[j]中
for(int i = 0; i < n; i++){
if(dis[index[j]] > dis[i]){//排序
index[j] = i;
}
}
dis[index[j]] = Integer.MAX_VALUE;//下标确定的数赋予最大值,就可以不参与下一次的比较
}
for(int i = 0; i < 3; i++){//输出前三个
System.out.println(index[i] + 1);
}
}
}