Advertisement
Guest User

zerojudge b688

a guest
May 29th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int main(){
  5.     int x[5],y[5];
  6.     while(scanf("%d %d %d %d %d %d %d %d",&x[1],&y[1],&x[2],&y[2],&x[3],&y[3],&x[4],&y[4])!= EOF){
  7.         bool bx[1001],by[1001];
  8.         for(int i = 0;i<1001;i++){
  9.             bx[i] = false;
  10.             by[i] = false;
  11.         }
  12.         for(int i = x[1];i<x[2]+1;i++)bx[i] = true;
  13.         for(int i = y[1];i<y[2]+1;i++)by[i] = true;
  14.        
  15.         int countx = -1,county = -1;
  16.        
  17.         for(int i = x[3];i<x[4]+1;i++)if(bx[i] == true)countx++;
  18.         for(int i = y[3];i<y[4]+1;i++)if(by[i] == true)county++;
  19.        
  20.        
  21.         if(countx > 0 && county > 0)printf("overlap=%d\n", countx*county);
  22.        
  23.        
  24.         else if((countx == 0 && county > 0)||(countx > 0 && county == 0))
  25.             if(!countx)printf("touch=%d\n",county);
  26.             else printf("touch=%d\n", countx);
  27.            
  28.            
  29.         else if(!countx && !county){
  30.             if(x[1] == x[3] || x[1] == x[4])printf("x=%d\n",x[1]);
  31.             else if(x[2] == x[3] || x[2] == x[4])printf("x=%d\n",x[2]);
  32.            
  33.             if(y[1] == y[3] || y[1] == y[4])printf("y=%d\n", y[1]);
  34.             else if(y[2] == y[3] || y[2] == y[4])printf("y=%d\n", y[2]);               
  35.         }  
  36.        
  37.        
  38.         else if(countx == -1 || county == -1){
  39.             int minx = 9999, miny = 9999;
  40.             for(int i = 1;i<3;i++)
  41.                 for(int j = 3;j<5;j++){
  42.                     if(abs(x[i]-x[j])<minx)minx = abs(x[i]-x[j]);
  43.                     if(abs(y[i]-y[j])<miny)miny = abs(y[i]-y[j]);
  44.                 }
  45.             if(countx != -1)printf("dis=sqrt(%d)\n",miny*miny);
  46.             else if(county != -1)printf("dis=sqrt(%d)\n",minx*minx);
  47.             else printf("dis=sqrt(%d)\n", minx*minx+miny*miny);
  48.         }  
  49.     }
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement