|
問(wèn)題描述
在一個(gè)定義了直角坐標(biāo)系的紙上,畫(huà)一個(gè)(x1,y1)到(x2,y2)的矩形指將橫坐標(biāo)范圍從x1到x2炭晒,縱坐標(biāo)范圍從y1到y(tǒng)2之間的區(qū)域涂上顏色但荤。
下圖給出了一個(gè)畫(huà)了兩個(gè)矩形的例子啥箭。第一個(gè)矩形是(1,1) 到(4, 4),用綠色和紫色表示谊囚。第二個(gè)矩形是(2, 3)到(6, 5),用藍(lán)色和紫色表示揉稚。圖中秒啦,一共有15個(gè)單位的面積被涂上顏色,其中紫色部分被涂了兩次搀玖,但在計(jì)算面積時(shí)只計(jì)算一次余境。在實(shí)際的涂色過(guò)程中,所有的矩形都涂成統(tǒng)一的顏色灌诅,圖中顯示不同顏色僅為說(shuō)明方便芳来。
[圖片上傳失敗...(image-9d2e1f-1578836294336)]
給出所有要畫(huà)的矩形,請(qǐng)問(wèn)總共有多少個(gè)單位的面積被涂上顏色猜拾。
輸入格式
輸入的第一行包含一個(gè)整數(shù)n即舌,表示要畫(huà)的矩形的個(gè)數(shù)。
接下來(lái)n行挎袜,每行4個(gè)非負(fù)整數(shù)顽聂,分別表示要畫(huà)的矩形的左下角的橫坐標(biāo)與縱坐標(biāo),以及右上角的橫坐標(biāo)與縱坐標(biāo)盯仪。
輸出格式
輸出一個(gè)整數(shù)紊搪,表示有多少個(gè)單位的面積被涂上顏色。
樣例輸入
2
1 1 4 4
2 3 6 5
樣例輸出
15
評(píng)測(cè)用例規(guī)模與約定
1<=n<=100全景,0<=橫坐標(biāo)耀石、縱坐標(biāo)<=100。
|
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int a[100][100];
memset(a, 0 , sizeof(a));
int n;
cin>>n;
int x1,y1, x2,y2;
for(int i=0; i<n; i++)
{
cin>>x1>>y1>>x2>>y2;
for(int j=x1; j<x2; j++)
for(int k=y1; k<y2; k++)
a[j][k] = 1;
}
int count = 0;
for(int i=0; i<100; i++)
{
for(int j=0; j<100; j++)
{
if(a[i][j] == 1) count++;
}
}
cout<<count;
}
個(gè)人心得:本來(lái)一開(kāi)始想用矩形面積的加減法的爸黄,但是后來(lái)發(fā)現(xiàn)不管怎么樣都得不到想要的滞伟,總是要么就多加了,要么就少加了炕贵,所以上網(wǎng)搜索了一下梆奈,發(fā)現(xiàn)暴力求解,