问题 3880 --距离(完善程序)

3880: 距离(完善程序)★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 169  解决: 80
[提交][状态][命题人:]

题目描述

给定四个点,按照其输入顺序编号(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;
}

输入

输出

样例输入
Copy
1 1
3 2
2 4
0 4
样例输出
Copy
3 4 2.00

提示

来源

[提交][状态]