백준 BaekJoon 13136번: Do Not Touch Anything [Java]

2021-01-07


문제

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의 최소 개수를 출력한다.


import java.util.Scanner;

public class TemplateA {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		
		int r = scan.nextInt();
		int c = scan.nextInt();
		int n = scan.nextInt();
		
		int mok = r / n;
		//행의 몫이 담길 변수
		int nmg = r % n;
		//행의 나머지가 담길 변수
		
		int count = 0;
		if(nmg == 0) {
			count = mok;
		}else {
			count = mok + 1;
		}
		//나머지가 1일 경우 모든 범위를 할당하기 위해
		//추가적인 카메라수 1을 더해줌
		
		
		 mok = c / n;
		//열의 몫이 담길 변수
		 nmg = c % n;
		//열의 나머지가 담길 변수
		
		 
		 if(nmg == 0) {
			count = mok * count;
		}else {
			count = (mok + 1) * count;
		}
		//마찬가지로 나머지가 1일 경우 모든 범위 할당위해
		//목의 1을 더해주고 총 갯수를 구하기위해 행의 필요 카메라수를 더해줌
		 
		
		System.out.println(count);		
	}
}
	

출처링크: www.acmicpc.net/problem/13136

 

13136번: Do Not Touch Anything

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

www.acmicpc.net