12.描画

  1. 描画
    問題の説明
    直交座標系を定義する紙に(x1、y1)から(x2、y2)までの長方形を描画することは、横軸がx1からx2の範囲で、縦軸が
    y1からy2の範囲である領域を指します。色。
    次の図は、2つの長方形を描画する例を示しています。最初の長方形は(1,1)から(4、4)で、緑と紫で表されます。2番目の
    長方形は(2、3)から(6、5)で、青と紫で表されます。この図では、合計15単位の面積が描かれており、そのうち紫色の
    部分は2回描かれていますが、面積を計算するときは1回だけです。実際の着色工程では、すべての長方形が均一な
    色で塗られています。図に示されている異なる色は、説明のためだけのものです。
    描画するすべての長方形を前提として、領域の何単位が色付けされます。
    入力の最初の行には、描画される長方形の数を表す整数nが含まれています。
    ここに画像の説明を挿入

次のn行は、それぞれ4つの非負の整数で、描画される長方形の左下隅の
横座標と縦座標、および描画される長方形の右上隅の横座標と縦座標を表します。
出力形式
領域の何単位がペイントされているかを示す整数を出力します
サンプル入力
2
1 1 4 4
2 3 5 6
サンプル出力
15
評価ユースケーススケール及び規則
1 <= N <= 100、0 <=横軸、縦<= 100。

#include<bits/stdc++.h>

using namespace std;

int main()
{
    
    
    int n, t = 0;
    int a[111][111];
    memset(a, 0, sizeof(a));
    cin>>n;
    int x1, x2, y1, y2;
    for(int i = 0; i < n; i++)
    {
    
    
        cin>>x1>>y1>>x2>>y2;
        for (int i = x1 + 1; i <= x2; i++)
            for (int j = y1 + 1; j <= y2; j++)
            {
    
    
                if(a[i][j])
                    continue;
                else
                {
    
    
                    a[i][j] = 1;
                    t++;
                }
            }

    }
    cout<<t;
    return 0;
}

おすすめ

転載: blog.csdn.net/KO812605128/article/details/113769330