题解:三角形分类:底为2高为1或者底为1高为2,N*M个结点的矩形
底为2:平行于X轴:每行可以有(M-2)条底,最近的上面的M个格点均可为顶点,最上方的一行格点没有向上的格点可以作为
顶点,故共有(N-1)行,顶点向下情况相同。
平行于Y轴,(N-2)条底,(M-1)行
两种情况共有(M-2)×M×(N-1)×2+(N-2)×N×(M-1)×2=2×(m+n-2)
底为1:平行于X轴:每行可以有(M-1)条底,相隔两行的M个格点均可为顶点,最上方的两行格点没有向上的格点可以作为顶
点,故共有(N-2)行,顶点向下情况相同。
平行于Y轴,(N-1)条底,(M-2)行
两种情况共有(M-1)×(M-2)×(N-2)(消除与底为2的三角形的重合情况)×2+(N-1)×(N-2)×(M-2)×2=2×m×n-3×m-3×n+4
解法一:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
long mod= (long) (1e9+7);
long n=scan.nextLong();
long m=scan.nextLong</