题目链接:http://120.78.162.102/problem.php?id=6244
时间限制: 1 Sec  内存限制: 128 MB

题目描述

地图上有n个村庄,小k每个月需要往每个村庄运送数量不等的粮食,运送粮食到任意一个村庄需要消耗的费用为距离的平方乘以粮食的重量,现在小k打算在地图上建立粮食基地,请问将基地建在哪个地方才能让小k每个月消耗的费用最少?

输入

第一行包含一个整数 T,表示有 T组测试数据。
接下来依次描述 T 组测试数据。对于每组测试数据:
第一行为整数 n,表示有n个村庄。
接下来 n 行,每行三个整数x,y,v,前两整数个为村庄的坐标,后面一个整数为该村庄每个月需要的粮食重量。
0<T<20,0<n<20, -1000<=x,y<=1000,0<v<100

输出

小k建立粮食基地的坐标(保留两位小数)

样例输入

1
3
167 -100 44
78 262 21
-245 -27 1

样例输出

132.44 16.29

解题思路

自己手算了一遍,发现就是求x*v和y*v的和再分别除以v的和。

#include <stdio.h>
int main()
{
    int t, n, x, y, v;
    double sum1, sum2, sum3;
    scanf("%d", &t);
    while (t--)
    {
        scanf("%d", &n);
        sum1 = sum2 = sum3 = 0;
        for (int i = 0; i < n; i++)
        {
            scanf("%d%d%d", &x, &y, &v);
            sum1 += x * v;
            sum2 += y * v;
            sum3 += v;
        }
        printf("%.2f %.2f\n",sum1 / sum3, sum2 / sum3);
    }
    return 0;
}