728x90
반응형
문제 풀기 전 생각 :
/*
초콜릿을 최소한의 자르기로 1x1로 자르기 위해선
더 긴 모양이 나오도록 자르고 긴 모양으로 나온것을 쪼개는 것이
가장 적은 횟수의 자르기로 자를 수 있다.
예를 들어
*****
*****
*****
*****
의 5x4 초콜릿이 있다고 한다면
***** ***** ***** *****로 나누면 3번의 자르기
그리고 ***** 를 * * * * *로 나누기 위해 4번의 자르기
그리고 ****가 세개 있으니 4번씩 4회 자른 셈이다
그렇게 총 19번의 자르기로 자를 수 있다
결국 5x4 = 20
20-1 == 19
a * b - 1 가 답이다.
*/
https://www.acmicpc.net/problem/2163
2163번: 초콜릿 자르기
정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿
www.acmicpc.net
#include <iostream>
using namespace std;
int main() {
int a,b;
cin >> a >> b;
cout << a*b - 1 << endl;
return 0;
}
풀 때 어려웠던 점 또는 느낀점 :
접근을 잘못해서 처음에 잠깐 헤매다
금새 그림을 그려보고 아하! 떠올렸다.
개선방안 :
#include <stdio.h>
int main(){int N, M;scanf("%d %d", &N, &M);printf("%d", N * M - 1);}
같은 접근법이다.
숏코딩 뭔가 재밌어 보인다.
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[C++] [LeetCode 1154] Day of the Year (pps 5-4) (0) | 2021.07.18 |
---|---|
[JAVA] [백준 5355] 화성 수학 (pps 5-2) (0) | 2021.07.18 |
[C++] [백준 1476] 날짜 계산 (pps 4-9) (0) | 2021.07.18 |
[C++] [백준 1712] 손익분기점 (pps 4-8) (0) | 2021.07.18 |
[C++] [프로그래머스] 하샤드 수 (pps 4-7) (0) | 2021.07.18 |
댓글