코딩/백준 문제 (실버)

[백준/2563/C언어] 색종이 _ 풀이

룻밤 2023. 8. 22. 19:09

https://www.acmicpc.net/problem/2563

 

2563번: 색종이

첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변

www.acmicpc.net


풀이

#include <stdio.h>
int main() {
	int n;
	int x, y;						// 가로, 세로
	int arr[100][100] = {0};		// 가로 세로 100
	int cnt = 0;

	scanf("%d", &n);
	for (int i = 0; i < n; i++) {	// n번만큼 반복
		scanf("%d %d", &x, &y);		
		for (int j = 0; j < 10; j++) {		// 세로 길이만큼
			for (int c = 0; c < 10; c++) {	// 가로 길이만큼
					arr[y][x + c] = 1;		// 색종이 펼친 부위는 1로 바꿈
			}
			y++;
		}
	}
	for (int j = 0; j < 100; j++) {			// 행
		for (int c = 0; c < 100; c++) {		// 열
			if (arr[j][c] == 1) cnt++;		// j행c열이 1이라면 cnt+1
		}
	}
	printf("%d\n", cnt);		// cnt값이 넓이와 같음
	return 0;
}

 

arr[0][0]가 1이라면 좌표로 봤을때는가로(1,0) 세로(0,1)의 길이 만큼의 넓이와 같다.