
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