차곡차곡

[BOJ/Java] 백준 2563번 - 색종이 본문

CS/Algorithm

[BOJ/Java] 백준 2563번 - 색종이

sohy 2023. 8. 9. 17:26

백준 #2563 색종이

 

2563번: 색종이

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록

www.acmicpc.net

 

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

public class Main {
	
	static boolean[][] paper;
	
	public static void black(int x, int y) {
		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 10; j++) {
				paper[x+i][y+j] = true;
			}
		}
	}

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int n = Integer.parseInt(st.nextToken());
		paper = new boolean[100][100];
		for (int i = 0; i < n; i++) {
			st = new StringTokenizer(br.readLine());
			int x = Integer.parseInt(st.nextToken());
			int y = Integer.parseInt(st.nextToken());
			black(x, y);
			
		}
		
		int cnt = 0;
		for (int i = 0; i < 100; i++) {
			for (int j = 0; j < 100; j++) {
				if (paper[i][j]) {
					cnt++;
				}
			}
		}
		System.out.println(cnt);
		
	}

}

100*100 크기의 배열을 false로 초기화해둔 상태에서 입력 받은 색종이의 위치를 기반으로 색종이의 크기(10*10)만큼 true로 바꿔준다. 입력이 끝난 후, true의 개수를 세어준다.

Comments