假设我们有两个值p和q,我们必须找到可以从具有p行和q列的网格中生成的唯一正方形的数目,这些点均匀地放置在其中。如果答案非常大,则返回结果为10 ^ 9 +7。在这个问题中,一个正方形是一组4个点,它们构成一个正方形的四个顶点。正方形的边必须具有相同的长度,并不总是需要与网格的轴对齐。
因此,如果输入为p = 4,q = 4,则输出为20。
让我们看下面的实现以更好地理解-
class Solution: def solve(self, r, c): ans = 0 for i in range(min(r, c)): ans += (r - i) * (c - i) * i return ans % (10 ** 9 + 7) ob = Solution() print(ob.solve(4,4))
p = 4 q = 4输出结果
20