标签:one mask isp hid code 需要 图片 ++ \n
1
3
167 -100 44
78 262 21
-245 -27 1
132.44 16.29
已知每个村庄的位置 xi,yi,以及需要运送的粮食重量 vi,设基地的位置在 x,y,那么小 k 运送粮食到任意一个村庄消耗的费用为(x-xi)*(x-xi)*vi+(y-yi)*(y-yi)*vi,由此可只 x 坐 标和 y 坐标可以分开来算,将所有消耗相加起来得到一个关于 x 的方程,a*x*x-b*x+c, 可转化为由此可得出当 x = b/(2*a)时消耗最小,同理可得出 y 坐标的值。
1 #include<stdio.h> 2 #include<algorithm> 3 using namespace std; 4 const int maxn = 1010; 5 int main(){ 6 int t; 7 double a[maxn],b[maxn],c[maxn]; 8 scanf("%d",&t); 9 while(t--) 10 { 11 int n; 12 scanf("%d",&n); 13 double z=0,x=0,v=0; 14 for(int i = 1;i <=n;i++) 15 { 16 scanf("%lf%lf%lf",&a[i],&b[i],&c[i]); 17 z += a[i]*c[i]; 18 x += b[i]*c[i]; 19 v += c[i]; 20 } 21 sort(a+1,a+n+1); 22 sort(b+1,b+n+1); 23 // double l_1 = a[n],r_1 = a[1]; 24 // double l_2 = b[n],r_2 = b[1]; 25 // double sum = 0; 26 // for(int i = 0;i < n;i++) 27 // { 28 // sum = sqrt((a[1]-a[i])*(a[1]-a[i])+(b[1]-b[i])*(b[1]-b[i])); 29 // } 30 // for(int i = 0;i<100;i++) 31 // { 32 // mid_1 = (l_1+r_1) / 2; 33 // mid_2 = (l_2+r_2) / 2; 34 // for(int i = 0;i<n;i++) 35 // double mid = sqrt((mid_1-a[i])*(mid_1-a[i])+(mid_2-b[i])*(mid_2-b[i])) 36 // if(mid < sum) 37 // { 38 // sum = mid; 39 // 40 // } 41 // } 42 43 printf("%.2f %.2f\n",z/v,x/v); 44 } 45 }
标签:one mask isp hid code 需要 图片 ++ \n
原文地址:https://www.cnblogs.com/DWVictor/p/10202509.html