알고리즘 공부/백준 문제풀이

[백준] 13136 : Do Not Touch Anything 

송테이토 2022. 10. 28. 23:29

Do Not Touch Anything

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율

1 초 32 MB 3704 1912 1791 52.957%

문제

ACM-ICPC 대회의 대회장은 R행 C열의 직사각형 형태로 좌석이 배치되어 있다. 대회가 시작하기 전에는 참가자들이 아무것도 만지면 안 되기 때문에 진행자는 'Do not touch ANYTHING!!!'을 연신 외친다.

하지만, 진행자가 성대결절에 걸리면서 'Do not touch ANYTHING!!!'을 외칠 수 없는 처지가 되었다. 따라서 주최측은 CCTV를 설치하여 참가자들을 감시하려고 한다. 이때, 각 CCTV는 N행 N열의 직사각형 영역의 좌석을 촬영할 수 있다.

모든 좌석을 전부 촬영하도록 CCTV를 배치할 때, 최소 몇 개의 CCTV가 필요할까?

입력

첫 번째 줄에 좌석의 세로 크기, 가로 크기 R, C와 한 대의 CCTV가 수용할 수 있는 범위 N이 주어진다. (1 ≤ R, C, N ≤ 1,000,000)

출력

모든 좌석을 전부 촬영하도록 CCTV를 배치할 때, 필요한 CCTV의 최소 개수를 출력한다.

예제 입력 1

7 9 3

예제 출력 1

9

코드

package Day1025;

import java.util.Scanner;

public class B13136 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int R = sc.nextInt();
		int C = sc.nextInt();
		int N = sc.nextInt();
		sc.close();

		long x, y;
		// 만약 세로크기를 수용범위로 나누었을 때 나머지가 0보다 크다면
		if (R % N > 0) {
			x = R / N + 1; // 몫에 1을 더해준다.
		} else {
			x = R / N; // 아니면 그냥 몫만
		}

		//민액 가로크기를 수용범위로 나누었을 때 나머지가 0보다 크면
		if (C % N > 0) {
			y = C / N + 1; //몫에 1더해줌
		} else {
			y = C / N;
		}
		System.out.println(x * y);
	}
}