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

Số giám mục tối đa có thể được đặt trên bàn cờ N * N trong C ++

Chúng tôi được cung cấp một đầu vào N biểu thị kích thước của bàn cờ vua. Nhiệm vụ ở đây là tìm với giá trị nào của N thì trên bàn cờ NXN có thể xếp được bao nhiêu con dấu sao cho không con nào tấn công được nhau. Hãy cùng hiểu với các ví dụ.

Số giám mục tối đa có thể được đặt trên bàn cờ N * N trong C ++

Đầu vào - N =2

Đầu ra - Các quân cờ tối đa có thể được đặt trên bàn cờ N * N - 2 (như hình trên)

Giải thích - Như đã mô tả ở trên, các vị trí duy nhất không mâu thuẫn là nơi đặt các giám mục. Số giám mục tối đa cho bàn cờ 2X2.

Đầu vào - N =5

Đầu ra - Số quân cờ tối đa có thể đặt trên bàn cờ N * N:8 (như hình trên)

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Chúng tôi lấy một giá trị số nguyên N làm đầu vào cho các kích thước bàn cờ.

  • Chuyển N này làm đối số cho totalBishops (int n).

  • Đối với N <1 đầu vào không hợp lệ, số lượng giám mục =0.

  • Đối với N =1, chỉ có 1 chức vụ, số giám mục =1.

  • Các giám mục khác sẽ là 2 * (N-1)

  • Lưu trữ kết quả này trong các giám mục biến đổi.

  • Trả lại kết quả.

Ví dụ

#include <iostream>
//to return maximum bishops possible
int totalBishops(int n){
   int bishops=0;
   if (n < 1)
      bishops= 0;
   else if (n == 1)
      bishops= 1;
   else
      bishops= 2 * (n - 1);
   return bishops;
}
int main(){
   int N = 15; //for chessboard dimensions N*N
   printf("%d" ,totalBishops(N));
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

28