Loading Now

maxKnight

 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

    Contact