[SWEA] 1491 | 원재의 벽 꾸미기

Gaanii·2024년 11월 12일
0

Problem Solving

목록 보기
157/210
post-thumbnail

문제링크


1491 | 원재의 벽 꾸미기



풀이과정


문제를 덜 읽어서 정사각형만 찾다가 다시 읽어보니 직사각형이었고 ... ㅎ...

문제에서 준 식 A * |R - C| + B * (N - R * C) 값이 가장 작게 나오는 값을 찾으면 된다.

냅다 그냥 R, C로 완전탐색 렛츠고 ~
R*C가 N보다 작거나 같아야하므로 R의 범위는 1부터 N까지고, C는 1로 처음 선언하고 for문 내부에서 1씩 증가시키면 된다.

코드


import math

T = int(input())

for tc in range(1, T+1):
    min_value = -1
    N, A, B = map(int, input().split())
    for R in range(1, N+1):
        C = 1
        while R * C <= N:
            value = A * abs(R - C) + B * (N - R * C)
            min_value = value if min_value == -1 else min(min_value, value)
            C += 1

    print(f'#{tc} {min_value}')


결과


정답

0개의 댓글