scone-lemon
[IM 대비] BOJ_10163 색종이 본문
https://www.acmicpc.net/problem/10163
10163번: 색종이
평면에 색깔이 서로 다른 직사각형 모양의 색종이 N장이 하나씩 차례로 놓여진다. 이때 색종이가 비스듬하게 놓이는 경우는 없다. 즉, 모든 색종이의 변은 서로 평행하거나, 서로 수직이거나 둘
www.acmicpc.net
package IM;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
// 색종이
public class BOJ_10163 {
public static int x, y, w, h;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int[][] map = new int[101][101];
for (int n = 1; n <= N; n++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
x = Integer.parseInt(st.nextToken());
y = Integer.parseInt(st.nextToken());
w = Integer.parseInt(st.nextToken());
h = Integer.parseInt(st.nextToken());
for (int i = x; i < x+w; i++) {
for (int j = y; j < y+h; j++) {
map[i][j] = n;
}
}
} // map 저장
for (int n = 1; n <= N; n++) {
int count = 0;
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map.length; j++) {
if(map[i][j] == n) {
count++;
}
}
}
sb.append(count).append("\n");
} // map 탐색
System.out.println(sb.toString());
}
}
package IM;
import java.util.Scanner;
// 색종이
public class BOJ_10163_sol {
public static void main(String[] args) {
int[][] map = new int[1001][1001];
Scanner sc = new Scanner(System.in);
// 인풋이 int로 들어오면서 공백으로 나누어 질 때 Scanner 사용하는 편
int N = sc.nextInt();
for (int n = 1; n <= N; n++) {
int si = sc.nextInt(); // start i
int sj = sc.nextInt(); // start j
int h = sc.nextInt(); // i에 대해서 색종이 칠할거임
int w = sc.nextInt(); // j에 대해서 색종이 칠할거임
for (int i = si; i < si+h; i++) {
for (int j = sj; j < sj+w; j++) {
map[i][j] = n;
}
}
}
int[] area = new int[N+1]; // 1~N 색종이까지 넓이 기록해야 하기 때문에
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map.length; j++) {
area[map[i][j]]++;
}
}
for (int i = 1; i <= N; i++) {
System.out.println(area[i]);
}
}
}
'ALGORITHM > BOJ' 카테고리의 다른 글
[IM 대비] BOJ_3985 롤 케이크 (0) | 2021.08.28 |
---|---|
[IM 대비] BOJ_2798 블랙잭 (0) | 2021.08.28 |
[IM 대비] BOJ_2941 크로아티아 알파벳 (0) | 2021.08.28 |
[IM 대비] BOJ_2999 비밀 이메일 (0) | 2021.08.27 |
[IM 대비] BOJ_2669 직사각형 네 개의 합집합의 면적 구하기 (0) | 2021.08.23 |