给定四个点,按照其输入顺序编号(1,2,3,4),输出距离最近的两个点的编号和其对应的距离,距离保留两位小数,若距离相等则输出字典序最小的答案
#include <bits/stdc++.h> using namespace std; const int INF = INT_MAX; int x[4], y[4]; int sqr(int x) { return __[1]__; } int getdis(int id1, int id2) { return sqr(x[id1] - x[id2]) + sqr(y[id1] - y[id2]); } int main() { int maxdis = INF, tmpdis, idx, idy; for (int i = 0; i < 4; i++) { scanf("%d%d", &x[i], &y[i]); } for (int i = 0; i < 4; i++) for (int j = i + 1; j < 4; j++) { tmpdis = __[2]__; if (maxdis > tmpdis) { maxdis = tmpdis; __[3]__; __[4]__; } } printf("%d %d %.2f", idx, idy, __[5]__); return 0; }