เราได้รับอินพุต N ซึ่งหมายถึงขนาดของกระดานหมากรุก ภารกิจที่นี่คือการค้นหาค่า NXN ใดๆ ว่ามีบิชอปจำนวนเท่าใดที่สามารถวางบนกระดานหมากรุก NXN เพื่อไม่ให้บิชอปสองคนโจมตีกันเองได้ มาทำความเข้าใจกับตัวอย่างกัน

ป้อนข้อมูล − N=2
ผลผลิต − บิชอปสูงสุดที่สามารถวางบนกระดานหมากรุก N*N ได้ − 2 ( ดังแสดงด้านบน )
คำอธิบาย − ดังที่บรรยายไว้ข้างต้น ตำแหน่งที่ไม่ขัดแย้งเพียงตำแหน่งเดียวคือตำแหน่งที่พระสังฆราชตั้งอยู่ บิชอปสูงสุดสำหรับกระดานหมากรุก 2X2
ป้อนข้อมูล − N=5
ผลผลิต − บิชอปสูงสุดที่สามารถวางบนกระดานหมากรุก N*N:8 (ดังแสดงด้านบน)
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
เราใช้ค่าจำนวนเต็ม N เป็นอินพุตสำหรับขนาดกระดานหมากรุก
-
ส่ง N นี้เป็นอาร์กิวเมนต์ไปยัง totalBishops(int n)
-
สำหรับอินพุตที่ไม่ถูกต้อง N<1 บิชอปนับ=0
-
สำหรับ N=1 มีเพียง 1 ตำแหน่ง บิชอปนับ=1
-
บิชอปอื่นจะเป็น 2*(N-1)
-
เก็บผลลัพธ์นี้ไว้ในบิชอปแบบแปรผัน
-
ส่งคืนผลลัพธ์
ตัวอย่าง
#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