http://acm.hdu.edu.cn/showproblem.php?pid=2073
注意返回值
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std ;
double fun( int x , int y )
{
double sum = 0.0;
int i ;
double ans = 0.0 ;
double temp ;
temp = ( double )sqrt( 2 ) ;
// printf( "%.3lf\n" , temp ) ;
double m , n ;
n = x + y ;
for( i = 1 ; i < n ; i++ )
{
ans += 1.0*i* temp ;
}
ans += x * temp ;
for( i = 0 ; i < n; i++ )
{
ans += sqrt( i * i + ( i + 1 ) * (i + 1 ) ) ;
// printf( "%.3lf\n" , ans ) ;
}
return ans ;
}
int main()
{
int n ;
int num1 , num2 ;
int i ;
int x1 , y1 , x2 , y2 ;
double ans ;
while( scanf( "%d" ,&n ) != EOF )
{
while( n-- )
{
cin >> x1 >> y1 >> x2 >> y2 ;
printf( "%.3lf\n" , abs( fun( x1 , y1 ) - fun( x2 , y2 ) ) ) ;
}
}
return 0 ;
}