개념
A x B Chessboard가 주어졌을 때, 과제는 Chessboard가 두 부분으로 나뉘지 않도록 Chessboard에 만들 수 있는 최대 컷 수를 계산하는 것입니다.
예시
예는 아래에 나와 있습니다 -
입력
A = 2, B = 4
출력
Number of maximum cuts = 3
입력
A = 2, B = 2
출력
Number of maximum cuts = 1
방법
-
A =2, B =2인 경우 1컷만 만들 수 있습니다(빨간색 표시). 컷을 1개 더 만들면 체스판이 2개로 분할됩니다.
-
A =2, B =4의 경우 3번의 절단을 할 수 있습니다(빨간색 표시). 컷을 1개 더 만들면 체스판이 2개로 분할됩니다.
그 결과 없음을 알 수 있다. 컷 =(A-1) * (B-1).
예시
//This is C++ implementation of above approach #include <bits/stdc++.h> using namespace std; // function that calculates the maximum no. of cuts int numberOfCuts1(int A, int B){ int result1 = 0; result1 = (A - 1) * (B - 1); return result1; } // Driver Code int main(){ int A = 4, B = 4; // Calling function. int Cuts = numberOfCuts1(A, B); cout << "Maximum cuts = " << Cuts; return 0; }
출력
Maximum cuts = 9