杭电1173 采矿java解题

来源:互联网 发布:淘宝贷款怎么申请 编辑:程序博客网 时间:2024/05/12 19:16
 
/* 杭电1173 */package 采矿;import java.util.Arrays;import java.util.Scanner;/** * 怎么说呢?这道题目的解题思路就是求躲多边形的重心, 那么就有求x轴和y轴的中位数的说法, 首先找出x对应的多边形的重心的x坐标我们需要取得, * 那么我们需要取得所有的离散的x,y点坐标,对其尽心排序 4 1.0 1.0 3.0 1.0 3.0 3.0 1.0 3.0 x 1.0 1.0 3.0 * 3.0 y 1.0 1.0 3.0 3.0 使得所有的点都在一条线上 取出最大值和最小值求出中位数即可 */public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        while (sc.hasNext()) {            int n = sc.nextInt();            if (n == 0) {                break;            }            double[] a = new double[n];            double[] b = new double[n];            for (int i = 0; i < n; i++) {                a[i] = sc.nextDouble();                b[i] = sc.nextDouble();            }            Arrays.sort(a);            Arrays.sort(b);            double middlex = 0;            double middley = 0;            if (n % 2 == 0) {                middlex = ((a[n / 2]) + (a[n / 2 - 1])) / 2;                middley = ((b[n / 2]) + (b[n / 2 - 1])) / 2;            } else {                middlex = (a[n / 2]);                middley = (b[n / 2]);            }            System.out.printf("%.2f", middlex);            System.out.print(" ");            System.out.printf("%.2f", middley);            System.out.println();        }    }}

0 0
原创粉丝点击