Computer >> Máy Tính >  >> Lập trình >> C ++

Các đường cắt tối thiểu có thể được thực hiện trong Bàn cờ sao cho nó không bị chia thành 2 phần trong C ++

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

Các đường cắt tối thiểu có thể được thực hiện trong Bàn cờ sao cho nó không bị chia thành 2 phần trong C ++

  • 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ờ.

Các đường cắt tối thiểu có thể được thực hiện trong Bàn cờ sao cho nó không bị chia thành 2 phần trong 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