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...
原文地址:https://www.cnblogs.com/xxx0624/p/2916239.html