본문 바로가기

박기완 코딩교육/정보올림피아드 대비

코드업 4423 직사각형 네 개의 합집합 면적 구하기 [초등부 정올]

이건 굉장히 쉬운문제다.

사실 어렵게 들어가면  x축 y축 영역들 다 나눠가며 계산해내는건데
초등부 정올이라그런지 그정도 난이돈 아니다.

단순히 100x100짜리 2차원짜리 배열에  해당영역들을 숫자 1로 채워넣는다 생각하면 쉽게 풀린다.

 

#include <stdio.h>

int main()
{
	//100*100 크기  영역만들어서  1로 채워넣을예정 
	int maps[101][101]={};
	
	for(int i=1;i<=4;i++){
		int lx,ly,rx,ry;
		scanf("%d %d %d %d",&lx,&ly,&rx,&ry);
		
		for(int y=ly;y<ry;y++){
			for(int x=lx;x<rx;x++){
				
				//해당되는 영역들 1로 채움.  
				maps[y][x]=1;	
			}
		}
	}
	
	int cnt=0;
	for(int i=0;i<=100;i++){
		for(int j=0;j<=100;j++){
			if(maps[i][j] == 1) cnt++; //1갯수 카운팅 
		}
	}
	
	printf("%d",cnt);

	return 0;	
}