https://www.acmicpc.net/problem/2563
도화지를 이차원 boolean 배열로 표현하고 색칠된 부분을 true로 바꾸어 true인 부분의 총 개수를 센다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
// 도화지
boolean[][] arr = new boolean[101][101];
//색종이의 수
int n = Integer.parseInt(br.readLine());
// 색칠된 부분의 수
int total = 0;
for(int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
// 색종이를 붙인 위치
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
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.println(total);
}
}