PS/Baekjoon Online Judge

[백준 03004] 체스판 조각 [Java]

kimyoungrok 2023. 11. 21. 09:56
728x90

문제

상근이는 3003번에서 동혁이가 발견한 체스판을 톱으로 자르려고 한다.

상근이는 체스판을 최대 N번 자를 수 있으며, 변에 평행하게만 자를 수 있다. 또, 자를 때는 체스판의 그 변의 한쪽 끝에서 다른쪽 끝까지 잘라야 한다. 자른 후에는 조각을 이동할 수 없다.

이때, 최대 몇 조각을 낼 수 있는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100)

출력

첫째 줄에 상근이가 얻을 수 있는 조각의 최댓값을 출력한다.


풀이

한 변에서 반대편 변까지 직선을 그어 자르는 문제다.

이 때 잘려서 생긴 조각이 최대로 만들어져야 한다. 때문에 가로, 세로를 번갈아가며 자르면 된다.

최소 1번 이상 자르기 때문에 아래와 같이 가로와 세로에 대해 조각의 개수가 증가한다.

 

N 가로 세로
1 2 1
2 2 2
3 3 2
4 3 3
5 4 3

 

N에 따라 가로와 세로의 개수를 곱한 결과를 출력하면 된다.

 

위의 과정은 N에 대해 2로 나눈 식으로 표현할 수 있다. 단, 계산 과정에서 정수가 나오지 않을 수 있으니 casting을 해주며 계산하자.

 


소스코드

보기


출처

 

3004번: 체스판 조각

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

www.acmicpc.net

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 03058] 짝수를 찾아라 [Java]  (1) 2023.11.22
[백준 03047] ABC [Java]  (1) 2023.11.21
[백준 02997] 네 번째 수 [Java]  (0) 2023.11.21
[백준 02991] 사나운 개 [Java]  (2) 2023.11.21
[백준 02985] 세 수 [Java]  (0) 2023.11.18