2 0 0 3 4 4 0 0 3
5.0 5.0
//这道题我是用很笨的方法做的,做完后看DISCUSS才知道原来有规律的,但是不管人家怎么做的,我还是吧自己的代码贴出来吧
#include <stdio.h> #include <math.h> double f(int x,int y,int m,int n) { return sqrt(x*x + y*y + m*m + n*n - 2*m*x - 2*n*y); } int main() { double a,b,c,d,t,x,y; double min,m; scanf("%lf",&t); while(t--) { scanf("%lf%lf%lf%lf",&a,&b,&c,&d); min = 100000; for(x = 0; x<=100; x++)//用x,y循环找出最小的剑气 { for(y = 0; y<=100; y++) { m = f(x,y,a,b) + f(x,y,c,d); if(min > m) min = m; } } printf("%.1lf\n",min); } return 0; }