在 C++ 中,N*N 棋盤上最多可以放置多少個主教
給定一個輸入 N,表示棋盤的大小。任務是對於任何 N 值,找到在 NXN 棋盤上可以放置多少個主教,使得任何兩個主教都不能互相攻擊。讓我們透過例子來理解。

輸入 - N=2
輸出 - N*N 棋盤上最多可以放置的主教數量 - 2(如上所示)
說明 - 如上所示,唯一不矛盾的位置是放置主教的位置。2X2 棋盤上最多可放置兩個主教。
輸入 - N=5
輸出 - N*N 棋盤上最多可以放置的主教數量:8(如上所示)
下面程式中使用的演算法如下
我們將一個整數值 N 作為棋盤維度的輸入。
將此 N 作為引數傳遞給 totalBishops(int n)。
對於 N<1 的無效輸入,主教數量=0。
對於 N=1,只有一個位置,主教數量=1。
否則,主教數量將為 2*(N-1)
將此結果儲存在變數 bishops 中。
返回結果。
示例
#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;
}輸出
如果我們執行以上程式碼,它將生成以下輸出:
28
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP