개발/Algorithm

[백준 23971] ZOAC4

Dane.Kim 2023. 12. 1.

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

 

H행, W열의 자리가 놓여져있는 상황이다.

 

세로로 N만큼 떨어져서 앉아야하는데, 그럼 한 사람이 앉은 자리를 더해줘서 N+1 의 자리를 차지한다고 본다.

 

그럼 H 행에서 N+1의 자리를 몇번 차지할 수 있는지 구하고, 그 값을 올림해준다. (꼭 N+1을 차지하지 않더라도 한자리만 있어도 앉을 순 있으므로 )

 

그럼 W 열도 마찬가지 방법으로 구한 뒤 두 값을 곱해주면 우리가 원하는 몇 명이 앉을 수 있는지를 알 수 있다.

 

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.parserInt(st.nextToken());
        double w = Integer.parserInt(st.nextToken());
        double n = Integer.parserInt(st.nextToken());
        double m = Integer.parserInt(st.nextToken());
        
        int x = (int) Math.ceil(h/(n+1));
        int y = (int) Math.ceil(w/(m+1));
        
        System.out.println(x*y);
    }

댓글