Loading Now

placeGarden

Lưu ý: Đây là phiên bản dễ hơn của placeGarden2 (?). Điểm khác biệt ở đây là số truy vấn.

Thầy Karl vừa mới được hay tin rằng ông nội của thầy đã để lại cho thầy một vùng đất trang trại rộng lớn với kích thước n x m. Giờ thầy định xây một vài khu vườn bên trong vùng đất đó, mỗi khu vườn dành cho 1 mục đích riêng (như trồng cây lương thực, cây ăn quả, chăn nuôi trâu, bò, …), để sau này khi thầy về hưu thì còn có việc làm.

Dĩ nhiên, trên vùng đất ấy không thiếu gì vài vật cản (như cây cối, đá tảng, …) Vì vậy, thầy ấy muốn xây mẫu 1 khu vườn với kích thước a x b trước tiên. Là một giáo viên toán tài ba, thầy ấy muốn đếm xem có bao nhiêu cách để xây vườn trên vùng đất ấy.

Cho dãy các chuỗi land chỉ gồm '0''1' cho biết đặc điểm vùng đất ấy ('0' tức là có vật cản, '1' tức là chỗ trống, xây được trên đó), các số ab. Hãy giúp thầy Karl đếm số cách xây vườn kích thước a x b trên vùng đất đã cho.

Ví dụ:

land = ["1011","0111","0110"], a = 2, b = 2 thì placeGarden(land, a, b) = 2

Sau đây là tất cả những cách để xây vườn 2 x 2 trong vùng đất 3 x 4 đã cho:

10**   1011
01**   0**1
0110   0**0

Đầ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à JS.
  • [Đầu vàoArray of Strings: land
    1 ≤ land.length = n ≤ 1000
    1 ≤ land[i].length = m ≤ 1000
    land[i][j] ∈ {'0', '1'}
  • [Đầu vàoInteger: a, b
    1 ≤ a ≤ n
    1 ≤ b ≤ m
  • [Đầu ra] Integer
    Số cách để xây 1 khu vườn kích thước a x b trên vùng đất đã cho

Post Comment

Contact