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 }

 

你可能感兴趣的:(HDU)