Python/백준 (BOJ)

[BOJ][B2]기숙사 바닥 - 2858

ㅋㅋ! 2025. 9. 11. 13:00

 

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

문제 전문은 링크 참조

문제가공

입력된 빨간타일과 갈색타일의 개수로 방의 크기를 출력한다.

단, 빨간타일이 갈색타일 테두리를 항상 감싸고 있다.

코드작성

  1. 방의 크기 L ,W 는 타일의 합의 약수다.
  2. 갈색타일의 공간은 빨간타일의 테두리안에 있기 때문에, 아래와 같은 공식이 성립된다.
  3. 위의 규칙을 활용하여
    1. 약수 구하기
    2. 약수 중에서 갈색타일 개수와 일치하는 약수 값 찾기
    를 구현한다.
r_tile, b_tile = map(int,input().split())
tiles = sum([r_tile,b_tile])

for i in range(int(tiles**0.5),0,-1):
    if tiles % i == 0:
        L,W = tiles // i , i
        if (L-2)*(W-2) == b_tile:
            print(L,W)
            break

 

 

'Python > 백준 (BOJ)' 카테고리의 다른 글

[BOJ][B2]KMP는 왜 KMP일까? - 2902  (0) 2025.09.13
[BOJ][B2]5와 6의 차이 - 2864  (0) 2025.09.12
[BOJ][B2]유학 금지 - 2789  (0) 2025.09.10
[BOJ][B2]아름다운 수 - 2774  (0) 2025.09.09
[BOJ][B2]다트 - 2756  (0) 2025.09.08