1. 程式人生 > >uva-10041-水題

uva-10041-水題

題意:有個人想找到個房子住,並且他經常去其他街道,輸入n條街,給這個人選擇一條街,使得他去其他街道的距離總和最小。

排序,雙重for

#include <string>
#include<iostream>
#include<map>
#include<memory.h>
#include<vector>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
#include<math.h>
#include
<iomanip> #include<bitset> #include"math.h" namespace cc { using std::cout; using std::endl; using std::cin; using std::map; using std::vector; using std::string; using std::sort; using std::priority_queue; using std::greater; using std::vector;
using std::swap; using std::stack; using std::bitset; constexpr int N = 501; int a[N]; void solve() { int n,r; cin >> n; while (n--) { cin >> r; for (int i = 0;i < r;i++) cin
>> a[i]; sort(a,a+r); int curMin = 0x7fffffff; for (int i=0;i<r;i++) { int curTotal = 0; for (int j=0;j<r;j++) { if (i == j) continue; int t = abs(a[i]-a[j]); curTotal += t; if (curTotal >= curMin) break; } if (curTotal < curMin) curMin = curTotal; } cout << curMin << endl; } } }; int main() { #ifndef ONLINE_JUDGE freopen("d://1.text", "r", stdin); #endif // !ONLINE_JUDGE cc::solve(); return 0; }