🌞Algorithm/🔥Baekjoon

[Baekjoon] 1531_투명

뿌야._. 2024. 4. 2. 22:17

Silver V

문제(출처: https://www.acmicpc.net/problem/1531)

< 투명 >

 

문제 풀이 

 

각 칸마다 종이를 몇 개 올리는지 세어준다.

 

 my solution (Java)

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

public class _1531_ { // 투명

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(bf.readLine());

		int n = Integer.parseInt(st.nextToken());
		int m = Integer.parseInt(st.nextToken());

		int arr[][]=new int[101][101];
		int result=0;

		for(int i=0; i<n; i++) {
			st=new StringTokenizer(bf.readLine());

			int x1=Integer.parseInt(st.nextToken());
			int y1=Integer.parseInt(st.nextToken());
			int x2=Integer.parseInt(st.nextToken());
			int y2=Integer.parseInt(st.nextToken());

			for(int j=x1; j<=x2; j++) {
				for(int k=y1; k<=y2; k++) {
					arr[j][k]+=1;
					if(arr[j][k] == (m+1)) {
						result+=1;
					}
				}
			}
		}

		System.out.println(result);
	}
}
변수)
n, m : 불투명한 종이 개수, 종이가 안 보이게 되는 종이 개수 
arr : 그림
result : 보이지 않는 그림의 개수
x1, y1, x2, y2 : 왼쪽 아래 모서리 좌표, 오른쪽 위 모서리 좌표

 

불투명한 종이 개수 n과 종이가 안 보이게 되는 종이 개수 m을 입력받는다. n개의 종이를 입력받아 왼쪽 아래 모서리부터 오른쪽 위 모서리까지 arr 배열에 개수를 세어준다. 만약 그 좌표에 있는 종이 개수가 m+1개라면 그 그림은 보이지 않으므로 result+1을 해준다. 최종 보이지 않는 그림의 개수 result를 출력한다. 



 

'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글

[Baekjoon] 21919_소수 최소 공배수  (0) 2024.04.04
[Baekjoon] 1835_카드  (0) 2024.04.03
[Baekjoon] 14232_보석 도둑  (1) 2024.04.01
[Baekjoon] 9440_숫자 더하기  (0) 2024.03.29
[Baekjoon] 2594_놀이공원  (0) 2024.03.28