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