def solve(n, m, a, p):
g = [[1 if (i, j) in set(p) else 0 for j in range(m)] for i in range(n)]
dp = [[0] * (m + 1)]
for i in range(1, n + 1):
r = [0]
for j in range(1, m + 1):
r.append(dp[i - 1][j] + r[j - 1] - dp[i - 1][j - 1] + g[i - 1][j - 1])
dp.append(r)
for r in dp:
print(r)
def cnt(x0, y0, x1, y1):
return dp[x1][y1] + dp[x0][y0] - (dp[x1][y0] + dp[x0][y1])
c_max = 0
for d in range(1, a + 1):
if a % d == 0:
e = a // d
for x, y in ((d, e), (e, d)):
for i in range(n - x + 1):
for j in range(m - y + 1):
print(i, j, i + x, j + y)
c = cnt(i, j, i + x, j + y)
c_max = max(c, c_max)
return c_max
n, m = 9, 2
a = 5
p = [(0, 1), (7, 1), (2, 1), (0, 0), (3, 1), (1, 1), (8, 0), (1, 0)]
r = solve(n, m, a, p)
print(r)
To embed this program on your website, copy the following code and paste it into your website's HTML: