1 条题解

  • 0
    @ 2025-10-8 17:12:24
    #include <bits/stdc++.h>
    using namespace std;
    int f[2020][2020];
    int main()
    {
        int x1,y1,x2,y2,x3,y3,x4,y4;
        cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
        for(int i=x1+1;i<=x2;i++)
        {
            for(int j=y1+1;j<=y2;j++)
            {
                f[i+1000][j+1000]=1;
            }
        }
        for(int i=x3+1;i<=x4;i++)
        {
            for(int j=y3+1;j<=y4;j++)
            {
                f[i+1000][j+1000]=2;
            }
        }
        int ans1=2010,ans2=-2010,ans3=2010,ans4=-2010;
        for(int i=0;i<=2000;i++)
        {
            for(int j=0;j<=2000;j++)
            {
                if(f[i][j]==1)
                {
                    ans1=min(ans1,i);
                    ans2=max(ans2,i);
                    ans3=min(ans3,j);
                    ans4=max(ans4,j);
                }
            }
        }
        if(ans2>=ans1 && ans4>=ans3)
        {
            printf("%d",(ans2-ans1+1)*(ans4-ans3+1));
        }
        else
        {
            printf("0");
        }
        return 0;
    }
    
    • 1

    【模拟】矩形3 和 矩形2 挡住矩形1[USACO18JAN] Blocked Billboard II B

    信息

    ID
    6811
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    23
    已通过
    4
    上传者