Khái niệm
Với Bàn cờ A x B, nhiệm vụ là tính toán Số lần cắt tối đa mà chúng ta có thể tạo trong Bàn cờ sao cho Bàn cờ không bị chia thành 2 phần.
Ví dụ
Các ví dụ được đưa ra bên dưới -
Đầu vào
A = 2, B = 4
Đầu ra
Number of maximum cuts = 3
Đầu vào
A = 2, B = 2
Đầu ra
Number of maximum cuts = 1
Phương pháp
-
Với A =2, B =2, ta chỉ dựng được 1 hình cắt (đánh dấu màu đỏ). Nếu chúng ta dựng thêm 1 vết cắt thì bàn cờ sẽ chia thành 2 quân
-
Với A =2, B =4, ta có thể thực hiện 3 vết cắt (dấu màu đỏ). Nếu chúng ta dựng thêm 1 vết cắt thì bàn cờ sẽ chia thành 2 quân cờ.
Kết quả của điều này, có thể nhận thấy rằng không. trong tổng số lần cắt =(A-1) * (B-1).
Ví dụ
//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;
} Đầu ra
Maximum cuts = 9