Loading Now

straightLine

Bạn có một tờ giấy hình chữ nhật.

Bạn muốn vẽ n đường thẳng lên trang giấy đó với yêu cầu sau:

  • Mỗi đường thẳng phải song song với 1 trong các cạnh của hình chữ nhật.
  • Không có 2 đường thẳng nào trùng nhau.
  • Không có đường thẳng nào trùng với các cạnh hình chữ nhật.

Sau khi vẽ xong, bạn sẽ dùng kéo cắt theo những đường bạn đã vẽ, bạn sẽ được m hình chữ nhật nhỏ.

Hãy tìm cách vẽ để m hình chữ nhật nhỏ thu được là lớn nhất.

Ví dụ:

  • Với n=2, thì kết quả sẽ là straightLine(n) = 4.
    Kết quả được mô tả như hình bên dưới.
  • Với m=3, thì kết quả sẽ là straightLine(n) = 6.
    Kết quả được mô tả như hình bên dưới.

Đầu vào/Đầu ra:

  • [Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript

  • [Đầu vào] Integer n
    0 ≤ n ≤ 109.

  • [Đầu ra] long m
    Số hình chữ nhật nhỏ lớn nhất có thể thu được sau khi vẽ n đường thẳng.

Post Comment

Contact