Computer Science/Algorithm Problem

백준] 1531 - 투명

TwinParadox 2018. 6. 5. 21:31
728x90

시간 제한 : 2초

메모리 제한 : 128MB




입력

첫째 줄에 N과 M이 주어진다. N은 0보다 크거나 같고, 50보다 작거나 같다. M은 0보다 크거나 같고, 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 종이의 좌표가 주어진다. 왼쪽 아래 모서리의 x, y좌표, 오른쪽 위 모서리의 x, y좌표 순으로 주어진다. 모든 좌표는 100보다 작거나 같은 자연수이다.




출력

첫째 줄에 정답을 출력한다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int arr[101][101] = { 0, };
	int n, m, x1, y1, x2, y2, sum = 0;
	cin >> n >> m;
	for (int i = 0; i < n; i++)
	{
		cin >> x1 >> y1 >> x2 >> y2;
		for (int x = x1; x <= x2; x++)
			for (int y = y1; y <= y2; y++)
				arr[x][y]++;
	}
	for (int i = 1; i <= 100; i++)
	{
		for (int j = 1; j <= 100; j++)
		{
			if (arr[i][j] > m)
				sum++;
		}
	}
	cout << sum;
}




Tip

배열에 매핑하는 형식으로 문제를 풀면 된다. 배열 크기가 크지 않기 때문에 시간, 공간 제한이 문제되지 않는다.



728x90

'Computer Science > Algorithm Problem' 카테고리의 다른 글

백준] 1812 - 사탕  (0) 2018.06.07
백준] 1439 - 뒤집기  (0) 2018.06.06
백준] 1855 - 암호  (0) 2018.06.04
백준] 2966 - 찍기(COCI 2008/2009)  (0) 2018.05.29
백준] 2947 - 나무 조각(COCI 2008/2009)  (0) 2018.05.28