
maxKnight
Mã là một quân trong cờ vua trong có khả năng di chuyển theo hình chữ L (tiến 2 ô rồi rẽ sang trái hoặc phải 1 ô) ở mọi hướng.
Cho một bàn cờ hình vuông gồm n x n
ô vuông, hãy tính số quân mã tối đa có thể đặt ở trong bàn cờ đó sao cho không có 2 con mã bất kì nào nằm trên đường di chuyển của nhau và chỉ được đặt duy nhất 1 con mã trên 1 ô vuông.
Ví dụ:
- Với
n = 3
thìmaxKnight(n) = 5
.
Giải thích: Ở trong bàn cờ 3x3
thì chỉ có thể đặt được tối đa 5
quân mã như hình bên dưới.
- Với
n = 4
thìmaxKnight(n) = 8
Đầu vào/Đầu ra:
- [Giới hạn thời gian chạy] 0.1 giây với C++, 0.6 giây với java và C#, 0.8 giây với Python, Go và JavaScript.
- [Đầu vào] int n:
1 ≤ n ≤ 109
- [Đầu ra] long
Số quân mã tối đa có đặt được trên bàn cờ gồm n x n
ô vuông thỏa mãn yêu cầu đề bài.
Post Comment