在 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