Java

[백준 23971] ZOAC4 (JAVA)

iheeeee6-6 2023. 2. 28. 14:39
728x90

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

 

23971번: ZOAC 4

i행 j열 자리를 (i, j)라고 할 때, (1,1)에 참가자가 앉은 경우 다른 참가자는 (1,2), (2,1), (2,2) 자리를 제외한 나머지 자리에 앉을 수 있다. (2,2)의 경우는 (1,1)과 행 번호 및 열 번호의 차가 1보다 크

www.acmicpc.net

 

백준의 문제집 중 "IT기업 및 대기업 계열사 코테보면서 비슷했던 문제들(지속적으로 업데이트 중)" 문제집의 제일 첫번째 문제이다.

 

행과 열을 따로 보아, 앉을 수 있는 행,열의 개수를 계산한다.

한 자리를 앉고 n or m만큼 자리를 띄우기 때문에 -> n+1 or m+1

행 or 열길이에 n+1 or m+1이 몇번 들어 갈 수 있는지 -> h/(n+1) or w/(m+1)

만약,  h/(n+1) or w/(m+1) 의 값이 1,xxx라면!  -> 띄우는 자리수가 부족하지만 앉을 자리는 있는 것으로, Math.ceil()로 앉을 수 있는 자리를 올림해준다.

 

 

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

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		double h = Integer.parseInt(st.nextToken());
		double w = Integer.parseInt(st.nextToken());
		double n = Integer.parseInt(st.nextToken());
		double m = Integer.parseInt(st.nextToken());
		int x = (int) Math.ceil(h/(n+1));
		int y = (int) Math.ceil(w/(m+1));
		System.out.println(x*y);
	}

}