import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int M = scan.nextInt();
int total = (N-1) + N*(M-1);
System.out.println(total);
}
}
표를 그릴 때를 생각해보자. 행을 3개 만들고싶으면 줄을 2개만 그리고, 열도 4개를 그리고싶으면 줄을 3개만 그린다.
초콜릿을 자를 때에도 마찬가지다.
예를들어서 3x4 인 초콜릿을 자른다고 가정해보자
두가지 경우가 있을 수 있다 행을 먼저 자르거나 열을 먼저 자르거나
행을 먼저 잘라보자! 2번 쪼개면 3개의 조각이 나올거고 열을 마저 3번씩 잘라주면 3개의 조각을 3번씩 잘라주니까 총 9번 잘라야 모든 초콜릿이 1x1 로 잘리게 된다. 이 방식으로 자르면 총 11번 잘라야 함을 알 수 있다.
열을 잘라보자! 3번 쪼개면 4개의 조각이 나올거고 행을 마저 2번씩 잘라주면 4개의 조각을 2번씩 잘라주니까 총 8번 잘라야 모든 초콜릿이 잘리게되고 총 11번 잘라야함을 알 수 있다.
행을 먼저 자르든 열을 먼저 자르든 동일한 결과임을 알 수 있다. 따라서 처음 자르는 횟수에 쪼개진 조각 * 자르는 횟수를 더해주면 정답이 나오게 된다!
'PS > 백준' 카테고리의 다른 글
[백준/11650번/java] - 좌표 정렬하기 (0) | 2024.03.18 |
---|---|
[백준/1037번/java] - 약수 (0) | 2024.03.17 |
[백준/1357번/java] - 뒤집힌 덧셈 (0) | 2024.03.13 |
[백준/2477번/c언어] 숫자의 개수 (1) | 2023.06.30 |
[백준/10951번/c언어]- A+B-4 (1) | 2023.01.23 |