728x90
★ 문제
- 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다.
- 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.
- 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다.
★ 소스코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int total = 0; //검은 영역의 넓이
int n = Integer.parseInt(br.readLine()); //색종이 개수
boolean[][] arr = new boolean[101][101]; //도화지
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
//(x,y)부터 (x+9, y+9)까지의 영역을 하나씩 체크한 후 총 넓이에 더해준다
for (int j = x; j < x+10; j++) {
for (int k = y; k < y+10; k++) {
if (!arr[j][k]) {
arr[j][k] = true;
total++;
}
}
}
}
System.out.print(total);
}
}
728x90
'백준 알고리즘' 카테고리의 다른 글
8. 일반 수학1 - 2 (11005번) (0) | 2023.04.17 |
---|---|
8. 일반 수학1 - 1 (2745번) (0) | 2023.04.17 |
7. 2차원 배열 - 3 (10798번) (0) | 2023.04.06 |
7. 2차원 배열 - 2 (2566번) (0) | 2023.04.06 |
7. 2차원 배열 - 1 (2738번) (0) | 2023.04.06 |