牛客--好三角形(BigInteger)

题目链接

题解:三角形分类:底为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</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值