HDU1264
简单
View Code
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 const int maxn = 105; 6 int mat[ maxn ][ maxn ]; 7 int x[4],y[4]; 8 int main(){ 9 int x1,y1,x2,y2; 10 memset( mat,0,sizeof( mat ) ); 11 while( scanf("%d%d%d%d",&x1,&y1,&x2,&y2)==4 ){ 12 x[0]=min( x1,x2 ); 13 y[0]=min( y1,y2 ); 14 x[1]=max( x1,x2 ); 15 y[1]=y[0]; 16 x[2]=x[1]; 17 y[2]=max( y1,y2 ); 18 x[3]=x[0]; 19 y[3]=y[2]; 20 for( int i=x[0];i<x[1];i++ ){ 21 for( int j=y[0];j<y[3];j++ ){ 22 mat[ i ][ j ]=1; 23 } 24 } 25 while( scanf("%d%d%d%d",&x1,&y1,&x2,&y2)==4 ){ 26 if( x1+y1+x2+y2<0 ) 27 break; 28 x[0]=min( x1,x2 ); 29 y[0]=min( y1,y2 ); 30 x[1]=max( x1,x2 ); 31 y[1]=y[0]; 32 x[2]=x[1]; 33 y[2]=max( y1,y2 ); 34 x[3]=x[0]; 35 y[3]=y[2]; 36 for( int i=x[0];i<x[1];i++ ){ 37 for( int j=y[0];j<y[3];j++ ){ 38 mat[ i ][ j ]=1; 39 } 40 } 41 } 42 int ans=0; 43 for( int i=0;i<=100;i++ ) 44 for( int j=0;j<=100;j++ ) 45 if( mat[i][j]==1 ) 46 ans++; 47 memset( mat,0,sizeof( mat )); 48 printf("%d\n",ans); 49 } 50 return 0; 51 }
keep moving...