1. 문제

www.acmicpc.net/problem/2669

 

2669번: 직사각형 네개의 합집합의 면적 구하기

평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으��

www.acmicpc.net

2. 접근방법

P10163 색종이

P2563 색종이들과 굉장히 유사한 문제다

 

그냥 101,101짜리 배열에 직사각형 하나씩 붙여주면서

겹치지 않고 붙인 부분만 count해주면 된다.

 

3. 자바 코드

package Bronze;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class P2669직사각형네개의합집합의면적구하기 {

	public static void main(String[] args) throws Exception {
		int map[][] = new int[101][101];
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		int cnt = 0;
		for (int i = 0; i < 4; i++) {
			st = new StringTokenizer(br.readLine());
			int row1 = Integer.parseInt(st.nextToken());
			int col1 = Integer.parseInt(st.nextToken());
			int row2 = Integer.parseInt(st.nextToken());
			int col2 = Integer.parseInt(st.nextToken());
			for (int j = row1; j < row2; j++) {
				for (int k = col1; k < col2; k++) {
					if (map[j][k] == 0) {
						cnt++;
						map[j][k] = 1;
					}
				}
			}
		}
		System.out.println(cnt);

	}

}

4. 마치며

굉장히 단순한 IM대비문제 쉽다.

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준] 2116 주사위 쌓기  (0) 2020.09.26
[백준] 2628 종이자르기  (0) 2020.09.26
[백준] 13300 방배정  (0) 2020.09.25
[백준] 14696 딱지놀이  (0) 2020.09.25
[백준] 2491 수열  (0) 2020.09.24

+ Recent posts