2 条题解

  • 0
    @ 2025-10-8 17:15:00
    #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;
    }
    
    • 0
      @ 2025-10-8 17:14:51
      #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

      信息

      ID
      2609
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      递交数
      114
      已通过
      17
      上传者