Infinity+1

导航

 

IoU

 

 

 1 #include <cstdio>
 2 #include <algorithm>
 3 #define re(i,a,b) for(int i=a;i<=b;i++)
 4 using namespace std;
 5 
 6 int main(){
 7     int T; scanf("%d", &T);
 8     while(T--){
 9         int x[2],y[2],w[2],h[2];
10         re(i,0,1) scanf("%d%d%d%d", &x[i],&y[i],&w[i],&h[i]);
11         double sum=0;
12         re(i,0,1) sum+=w[i]*h[i];
13         double overlap=(min(x[0]+w[0],x[1]+w[1])-max(x[0],x[1]))*
14                     (min(y[0]+h[0],y[1]+h[1])-max(y[0],y[1]));
15         if((min(x[0]+w[0],x[1]+w[1])-max(x[0],x[1]))<0 && overlap>0) overlap=0;
16         if(overlap<=0) printf("0.00\n");
17         else printf("%.2lf\n", overlap/(sum-overlap));
18     }
19     return 0;
20 }
View Code

 

posted on 2019-04-23 22:08  Infinity+1  阅读(212)  评论(0)    收藏  举报