牛牛最近在研究三角形计数问题。
它认为,满足以下三个条件的三角形是“好三角形”。
1. 三角形的三个顶点均为格点,即横坐标和纵坐标均为整数。
2. 三角形的是直角三角形,且两条直角边平行于 轴和 轴 。
honoka想知道,在平面中选取一个大小为 的矩形格点阵,可以找到多少个不同的“好三角形”?由于答案可能过大,请对 1000000007 取模。
2,3
12
如上图,共有2行3列格点。面积为0.5的直角三角形有8个:ABD、ABE、ADE、BDE、BCE、BCF、BEF、CEF。如上图,面积为1的直角三角形有4个:ACD、ADF、ACF、DCF因此共有12个符合条件的直角三角形。请注意,ACE和BDF虽然也是直角三角形,但由于直角边并不是平行于 轴或 轴,所以并不合法 。
class Solution: def getNums(self , n: int, m: int) -> int: return (m*n*(m-1)*(n-1))%(10**9+7)