收藏
难度:一般
标签:暂无标签
题目描述
Mzx0821给你一个N*M的方阵,你能告诉它这个方阵有多少个正方形吗?
输入
多组测试数据
每组测试数据包含两个正整数N和M(N,M<=100000)
输出
正方形的总数对1000000007取模(建议用long long)
样例输入复制
1 1
2 3
样例输出复制
1
8
def count_squares(N, M): # 取N和M中的较小值作为最大边长 max_size = min(N, M) result = 0 # 依次计算边长为1到max_size的正方形数量 for size in range(1, max_size + 1): # 计算当前边长的正方形数量 num_squares = (N - size + 1) * (M - size + 1) result += num_squares return result # 示例用法 while True: try: s=input() N = int(s.split()[0]) M = int(s.split()[1]) result = count_squares(N, M) print(result%1000000007) except EOFError: break