백준

백준 1531 투명(Java)

Park DJ 2023. 2. 24. 13:22

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

 

1531번: 투명

첫째 줄에 N과 M이 주어진다. N은 0보다 크거나 같고, 50보다 작거나 같다. M은 0보다 크거나 같고, 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 종이의 좌표가 주어진다. 왼쪽 아래 모서리의 x, y좌

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 이중배열에 좌표값 범위 내의 값을 1씩 증가시킨 후 1부터 100까지 탐색하여 m보다 큰 것이 있으면 count를 증가시킨 후 count의 값을 출력시켜 주면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int count = 0;
    int n = sc.nextInt();
    int m = sc.nextInt();
    int[][] arr = new int[101][101];
    
    for(int k = 0; k < n; k++) {
      int x1 = sc.nextInt();
      int y1 = sc.nextInt();
      int x2 = sc.nextInt();
      int y2 = sc.nextInt();
      for(int i = y1; i <= y2; i++) {
         for(int j = x1; j <= x2; j++) arr[i][j]++;
      }
    }
    
    for(int i = 0; i <= 100; i++) {
      for(int j = 0; j <= 100; j++) {
        if(arr[i][j] > m) count++;
      }
    }

    System.out.println(count);
  }
}