Tìm số lượng Tượng (Bishop) tối đa đặt trên bàn cờ N×N sao cho không hai Tượng nào tấn công nhau (Tượng đi đường chéo).
Kết quả
N = 1 → 1 N = 2 → 2 N ≥ 3 → 2N - 2
Giải thích
- Tượng chỉ di chuyển trên ô cùng màu. Bàn cờ có 2 màu: trắng và đen.
- Tượng trên ô trắng không bao giờ tấn công Tượng trên ô đen.
- Trên mỗi màu, tối đa đặt được
N-1Tượng (mỗi đường chéo chính/phụ chỉ 1 Tượng). - Tổng =
(N-1) + (N-1) = 2N-2. - Trường hợp N=1: chỉ 1 ô → 1 Tượng. N=2: 2 đường chéo mỗi màu → 2 Tượng (công thức 2N-2=2 cũng đúng).
Chương trình C++
#include <iostream>
using namespace std;
int maxBishops(int N) {
if (N <= 0) return 0;
if (N == 1) return 1;
return 2 * (N - 1);
}
int main() {
int N = 15;
cout << "So Tuong toi da: " << maxBishops(N); // Output: 28
return 0;
}
Kết quả
So Tuong toi da: 28