hihocoder 1931 最短管道距离
生活随笔
收集整理的這篇文章主要介紹了
hihocoder 1931 最短管道距离
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
在一張2D地圖上有N座城市,坐標依次是(X1, Y1), (X2, Y2), ... (XN, YN)。 ?
現在H國要修建一條平行于X軸的天然氣主管道。這條管道非常長,可以認為是一條平行于X軸的直線。 ?
小Ho想知道如何修建這條管道,可以使N座城市到管道的垂直距離之和最小。請你求出這個最小的距離之和。
輸入
第一行包含一個整數N。 ?
以下N行每行包含兩個整數Xi, Yi。 ?
1 <= N <= 100000 ?
0 <= Xi, Yi <= 1000000 ?
輸出
一個整數,代表最小的距離之和。
樣例輸入
4 0 0 0 100 100 0 100 100樣例輸出
200直接排序在中點位置,對于偶數情況,中間兩個點都可以,答案相同,因為要求是整數。也可以考慮每次求一個最大y和最小y之間的差,都加起來,因為管道肯定在他倆之間。
代碼: #include <iostream> #include <cstdlib> #include <cstdio> #include <algorithm>using namespace std; typedef long long ll; int a[100000]; int main() {int n,x;ll sum = 0;scanf("%d",&n);for(int i = 0;i < n;i ++) {scanf("%d%d",&x,&a[i]);}sort(a,a + n);for(int i = 0;i < n;i ++) {sum += abs(a[i] - a[n / 2]);}printf("%lld",sum); }
?
轉載于:https://www.cnblogs.com/8023spz/p/10799743.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的hihocoder 1931 最短管道距离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git 常用命令使用
- 下一篇: C/C++掌握技能(三)