728x90
https://www.acmicpc.net/problem/3004
문제
상근이는 3003번에서 동혁이가 발견한 체스판을 톱으로 자르려고 한다.
상근이는 체스판을 최대 N번 자를 수 있으며, 변에 평행하게만 자를 수 있다. 또, 자를 때는 체스판의 그 변의 한쪽 끝에서 다른쪽 끝까지 잘라야 한다. 자른 후에는 조각을 이동할 수 없다.
이때, 최대 몇 조각을 낼 수 있는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100)
출력
첫째 줄에 상근이가 얻을 수 있는 조각의 최댓값을 출력한다.
728x90
예제 입력 1
1
예제 출력 1
2
예제 입력 2
3
예제 출력 2
6
N = int(input())
# N이 짝수면
# 절반은 세로로 자르고, 절반은 가로로 자른다.
# N=4 라면, 세로로 2번, 가로로 2번 자르고
# (2 +1) * (2 + 1) = 9
if N % 2 == 0:
print((N // 2 + 1) ** 2)
# N이 홀수면
# 세로로 N//2번, 가로로 N//2 + 1번 자른다.
# N=7 이라면, 세로로 3번, 가로로 4번 자르고
# (3 + 1) * (4 + 1) = 20
else:
print((N // 2 + 1) * (N // 2 + 2))
728x90
'Problem Solving > BOJ' 카테고리의 다른 글
[백준, BOJ 5532] 방학 숙제 (python) (0) | 2021.12.15 |
---|---|
[백준, BOJ 4299] AFC 윔블던 (python) (0) | 2021.12.14 |
[백준, BOJ 2752] 세수정렬 (python) (0) | 2021.12.13 |
[백준, BOJ 2530] 인공지능 시계 (python) (0) | 2021.12.13 |
[백준, BOJ 2525] 오븐 시계 (python) (0) | 2021.12.13 |