Loading Now

countSquares

Một hình chữ nhật có kích thước mxn, được chia thành những ô vuông nhỏ kích thước 1x1.

Hãy đếm xem trong hình chữ nhật đó có tổng cộng bao nhiêu ô vuông và in kết quả ra màn hình.

Đầu ra có thể rất lớn nên sẽ lấy phần dư cho 1000000007.

Ví dụ:

  • Với m=2, n=2; thì kết quả sẽ là countSquares(m,n)=5.

Giải thích:
Dựa vào hình bên trên ta có thể thấy trong hình chữ nhật kích thước 2x2

    • 4 hình vuông có kích thước 1x1.
    • 1 hình vuông có kích thước 2x2.

  • Với m=2, n=3 thì kết quả sẽ là countSquares(m,n)=8.

Giải thích:
Dựa vào hình bên trên ta có thể thấy trong hình chữ nhật kích thước 3x2

    • 6 hình vuông có kích thước 1x1.
    • 2 hình vuông có kích thước 2x2.

Đầu vào/ Đầu ra

  • [Thời gian chạy] 0.5s với C++, 3s với Java/C#, 4s với Python,Js, Go.
  • [Đầu vào] Integer n
    1 ≤ m ≤ 1018
  • [Đầu vào] Integer m
    1 ≤ n ≤ 1018
  • [Đầu ra] Int64
    Số lượng tất cả các hình vuông có ở bên trong hình chữ nhật.

Post Comment

Contact