Problem Solving/BOJ

[BOJ] 9449: Garage

happykoa 2020. 7. 17. 20:27

정말 오랜만에 풀이네요..

문제 소개

solved.ac 브론즈 3티어문제입니다.

 

문제 링크

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

 

9449번: Garage

The only line contains four integers: W, H, w, h — dimensions of sandlot and garage in meters. You may assume that 1 ≤ w ≤ W ≤ 30 000 and 1 ≤ h ≤ H ≤ 30 000.

www.acmicpc.net

 

아이디어

브론즈 3티어 문제인만큼 되게 쉬웠습니다.

단지, 조금은 재미있는 아이디어인 것 같아서 남겨봅니다.

 

일단 이 문제는 최소, 최대를 어떻게 조정해야 할지가 가장 관건입니다.

 

최소여야하는 것은 배치할 차고의 개수입니다.

최대여야하는 것 또한 배치할 차고의 개수입니다.

 

?????

 

뭔가 이상하지만, 이게 맞습니다. 바로, 차고를 최소로 배치하면서 위치를 적당히 조정해 더이상 차고를 배치하지 못하는 상황을 만들어야 하는 것입니다.

 

그러면, 가로와 세로를 따로 생각을 하는 것을 전제로 하고오오...

차고 하나를 배치한 뒤에, 그 차고의 길이보다 아주 조금 작은 공간을 더 사용한다고 생각하면, 그 공간에는 더이상의 차고는 배치할 수 없게 됩니다. 이런 생각으로 코드를 봅시다.

 

코드(python)

W, H, w, h = map(float,input().split())
cnt1 = 0
cnt2 = 0
while W > 0:
    W -= w
    if W >= 0:
        cnt1+=1
    W -= (w-0.000001)
while H > 0:
    H -= h
    if H >= 0:
        cnt2 +=1
    H -= (h-0.000001)
print(cnt1*cnt2)

 

Rmx

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ] 1105: 팔  (0) 2020.09.13
[BOJ] tag: minimum enclosing circle  (0) 2020.09.13
[BOJ] 18868, 18869 :: 멀티버스Ⅰ, 멀티버스Ⅱ  (0) 2020.04.11
[BOJ] 18870: 좌표 압축  (0) 2020.04.11
[BOJ] 9372: 상근이의 여행  (3) 2020.03.30