[백준, BOJ 3004] 체스판 조각 (python)
Problem Solving/BOJ

[백준, BOJ 3004] 체스판 조각 (python)

728x90

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

 

3004번: 체스판 조각

상근이는 3003번에서 동혁이가 발견한 체스판을 톱으로 자르려고 한다. 상근이는 체스판을 최대 N번 자를 수 있으며, 변에 평행하게만 자를 수 있다. 또, 자를 때는 체스판의 그 변의 한쪽 끝에서

www.acmicpc.net


문제

상근이는 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