1062:図面を描く

1831 ワード

1062:プロット時間制限:1 Secメモリ制限:256 MB
コミット:1解決:1
[コミット][ステータス][ディスカッション]
タイトルの説明
直角座標系を定義した紙に、(x 1,y 1)~(x 2,y 2)までの矩形を描くと、横座標範囲をx 1からx 2、縦座標範囲をy 1からy 2の間の領域に色を塗ることを指す.
次の図は、2つの長方形を描いた例を示しています.最初の長方形は(1,1)~(4,4)で、緑と紫で表されます.2番目の長方形は(2,3)~(6,5)で、青と紫で表されます.図中、全部で15単位の面積に色が塗られており、紫色部分は2回塗られているが、面積を計算する際には1回しか計算されていない.実際の塗装過程では、すべての矩形が統一された色に塗られており、図に異なる色が表示されるのは説明の便利さだけです.
(写真略=.=コピーできないなんて.)
描く矩形をすべて与えて、全部で何単位の面積が色に塗られていますか.
評価用例の規模と約束
1<=n<=100,0<=横座標,縦座標<=100
入力
入力された最初の行には、描画する矩形の個数を表す整数nが含まれます. 
次にn行、各行4個の非負の整数、それぞれ描画する矩形の左下角の横座標と縦座標、および右上角の横座標と縦座標を表す.
しゅつりょく
何単位の面積が色で塗られているかを示す整数を出力します.
サンプル入力
2 1 1 4 4 2 3 6 5

サンプル出力
15
 
  
===========================     =================================
     ,        。                           ,          class  。        ……   ,     ?         ,                  ?          ,    、       ,             。
        ……         。
         ,  ,    100*100   ,         1,   0.            1   ,      ♪(^∇^*)
        +_+           for          。
          ……
      n   for  …… ,             …… ,                Σ( ° △ °|||)︴
      !           ……         ,  ……      。                !
 
  
#include 
using namespace std;
int main(){
	int n;
	cin >> n;
	int i;
	int map[100][100] = { 0 };
	for (i = 0; i < n; i++){
		int a[4];
		cin >> a[0] >> a[1] >> a[2] >> a[3];//       ,       
		for (int j = a[0]; j < a[2];j++)
		for (int p = a[1] ; p