標籤:vijos 水果 java 我居然還想了這麼久
P1691輸油管道問題Accepted標籤:貪心其他 排序背景
想念car的GF,car就出了道水題!
描述
某石油公司計劃建造一條由東向西的主輸油管道。該管道要穿過一個有n 口油井的油田。從每口油井都要有一條輸油管道沿最短路經(或南或北)與主管道相連。如果給定n口油井的位置,即它們的x 座標(東西向)和y 座標(南北向),應如何確定主管道的最優位置,即使各油井到主管道之間的輸油管道長度總和最小的位置?
編程任務:
給定n 口油井的位置,編程計算各油井到主管道之間的輸油管道最小長度總和.
格式輸入格式
由檔案input.txt提供輸入資料。
檔案的第1行是油井數n,1≤n≤10000。
接下來n行是油井的位置,每行2個整數x和y,-10000≤x,y≤10000。
輸出格式
程式運行結束時,將計算結果輸出到檔案output.txt中。檔案的第1行中的數是油井到主管道之間的輸油管道最小長度總和。
範例1範例輸入1[複製]
51 22 21 3 3 -23 3
範例輸出1[複製]
6
限制
各個測試點1s
提示
各個測試點1s
來源
經典演算法
老是吃西瓜喝農夫山泉也不是辦法啊......
import java.io.*;import java.util.*;public class Main{public static void main(String[] args){// TODO Auto-generated method stubScanner input = new Scanner(System.in);int n = input.nextInt();int a[] = new int[n];for (int i = 0; i < n; i++){input.nextInt();a[i] = input.nextInt();}Arrays.sort(a);int ans = 0;for (int i = 0; i < n; i++){ans += Math.abs(a[i] - a[n / 2]);}System.out.println(ans);}}
Vijos-P1691-輸油管道問題(Java + 大西瓜......)