알고리즘/백준

[백준] 색종이_자바

Ellie67 2022. 11. 10. 20:17

https://www.acmicpc.net/problem/2563

 

2563번: 색종이

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

www.acmicpc.net

 

 

입력 첫 줄은 색종이 개수

두 번째 줄부터 각 사각형 왼쪽 아래 x 값과 오른쪽 아래 y값이 주어진다.

사각형 길이는 가로 세로 10이라고 했으니까 100*100인 행렬을 만들고,

행렬에서 사각형에 해당하는 부분을 값을 1로 한다.

 

행렬에서 1인 부분 개수가 답

 

import java.util.Scanner;

public class P2563 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int mX=Integer.MIN_VALUE, mY=Integer.MIN_VALUE;
        int[][] a = new int[100][100];
        int ans= 0;
        for(int i=0; i<n; i++){
            int x = sc.nextInt();
            int y = sc.nextInt();
            for(int j=x; j<x+10; j++){
                for(int k=y; k<y+10; k++){
                    a[j][k] = 1;
                }
            }
            mX = Math.max(mX, x+10);
            mY = Math.max(mY, y+10);
        }
        for(int j=0; j<mX; j++){
            for(int k=0; k<mY; k++){
                if(a[j][k]==1) ans++;
            }
        }

        System.out.println(ans);
    }
}