본문 바로가기

알고리즘 풀이

백준 2163번 초콜릿 자르기

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


이번 문제는.. 좀 어려운 줄 알았는데, 그렇지 않았다.

간단하게 풀이를 말하자면


N * 5 초콜렛이 있을 때, 

N번 가로로 형태로 하여 초콜릿을 자르면 5칸 짜리 초콜렛이 N줄이 생기게 된다.

이 후, 5칸 짜리 초콜렛을 모두 1칸으로 만들면 되는 것이다.


1번째줄 4번

2번째줄 4번

3번째줄 4번 ... 

N번째줄 4번이라 생각하며 식을 세우면서 풀고 있었는데..


가만히 생각해보니

2 * 3 초콜릿은 = 5번

3 * 3 초콜릿은 = 8번

10 * 20 초콜릿은 = 199번


즉, 초콜릿의 너비 - 1 만큼이 최소횟수가 되는 것이다...


#include <iostream>
using namespace std;
int main()
{
int n, m;
cin >> n >> m ;
cout << (n * m) - 1 << endl;
return 0;
}


'알고리즘 풀이' 카테고리의 다른 글

(공통문제) n-queens  (0) 2017.12.09
백준 2292번 벌집  (0) 2017.12.06
(공통문제) 지그재그 배열  (0) 2017.12.01
백준 1965번 상자넣기  (0) 2017.11.29
백준 2178번 미로탐색  (0) 2017.11.27