3496024_ac_6954ms_2284k.java

来自「北大大牛代码 1240道题的原代码 超级权威」· Java 代码 · 共 44 行

JAVA
44
字号
import java.util.*;

public class Main {

    public void run() {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt();
        int m = in.nextInt();

        m += n;

        double[] a = new double[n];
        double[] b = new double[m];
        for (int i = 0; i < n; i++) {
            a[i] = 10000.0 * i / n;
        }
        for (int i = 0; i < m; i++) {
            b[i] = 10000.0 * i / m;
        }

        boolean[] u = new boolean[m];
        double r = 0;
        for (int i = 0; i < n; i++) {
            double best = Double.MAX_VALUE;
            int bj = -1;
            for (int j = 0; j < m; j++) {
                if (!u[j] && Math.abs(a[i] - b[j]) < best) {
                    best = Math.abs(a[i] - b[j]);
                    bj = j;
                }
            }
            u[bj] = true;
            r += best;
        }

        System.out.printf("%.9f\n", r);
    }

    public static void main(String[] arg) {
        new Main().run();
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?