背景
想念car的GF,car就出了道水題!
描述
某石油公司計劃建造一條由東向西的主輸油管道。該管道要穿過一個有n 口油井的油田。從每口油井都要有一條輸油管道沿最短路經(或南或北)與主管道相連。如果給定n口油井的位置,即它們的x 座標(東西向)和y 座標(南北向),應如何確定主管道的最優位置,即使各油井到主管道之間的輸油管道長度總和最小的位置?
程式設計任務:
給定n 口油井的位置,程式設計計算各油井到主管道之間的輸油管道最小長度總和.
格式
輸入格式
輸入第1行是油井數n,1≤n≤10000。
接下來n行是油井的位置,每行2個整數x和y,-10000≤x,y≤10000。
輸出格式
輸出第1行中的數是油井到主管道之間的輸油管道最小長度總和。
樣例1
樣例輸入1
5
1 2
2 2
1 3
3 -2
3 3
樣例輸出1
6
限制
各個測試點1s
提示
各個測試點1s
來源
經典演算法
1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 using namespace std; 5 int a[10001]; 6 int b[10001]; 7 int tot; 8 int main() 9 { 10 int n; 11 cin>>n; 12 for(int i=1;i<=n;i++) 13 { 14 cin>>a[i]>>b[i]; 15 } 16 sort(b+1,b+n+1); 17 int mid=b[n/2+1]; 18 for(int i=1;i<=n;i++) 19 { 20 tot=tot+abs(b[i]-mid); 21 } 22 cout<<tot; 23 return 0; 24 }