HDU - 1264 (暴力模拟)

题目:https://cn.vjudge.net/problem/HDU-1264

思路:直接暴力模拟,数据不大

建一个100*100的mp数组

相当于涂格子   最后求格子的个数

求面积转化为求格子数目

注意一下:变量i的取值,从0初始化

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define maxn 100005
int mp[105][105];
int main()
{
    int a,b,c,d;
     for(int i=0;i<=100;i++)
                for(int j=0;j<=100;j++)
                    mp[i][j]=0;

    while(~scanf("%d%d%d%d",&a,&b,&c,&d))
    {
        if(a==-1&&b==-1&&c==-1&&d==-1)
        {
           // cout<<"ds"<<endl;
            int sum=0;
            for(int i=0;i<=100;i++)
                for(int j=0;j<=100;j++)
                if(mp[i][j]==1)
                sum++;
            printf("%d\n",sum);

           for(int i=0;i<=100;i++)
                for(int j=0;j<=100;j++)
                    mp[i][j]=0;
        }
        else if(a==-2&&b==-2&&c==-2&&d==-2)
        {
            int sum=0;
            for(int i=0;i<=100;i++)
                for(int j=0;j<=100;j++)
                {
                    if(mp[i][j]==1)
                    sum++;
                }
            printf("%d\n",sum);

           for(int i=0;i<=100;i++)
                for(int j=0;j<=100;j++)
                    mp[i][j]=0;
            break;
        }
        else
        {
             if(a>c) swap(a,c);
             if(b>d) swap(b,d);
            for(int i=a;i<c;i++)
                for(int j=b;j<d;j++)
                mp[i][j]=1;
        }
    }
}

 

posted @ 2019-08-16 20:27  saaas  阅读(178)  评论(0)    收藏  举报