三角形的 22 条边上分别有 mm 和 nn 个点(不包括三角形的顶点),这些点分别同这两条边相对的顶点有连线,这样组成了一个复杂的图形,问这个图形中包含了多少个不同的三角形。由于数量很大,输出结果 mod 1000000007mod 1000000007。

输入

第1行:2个数,m,n 中间用空格分隔。(1<= m,n <= 1e9)

输出

输出对应的三角形的数量。

输入样例

2 1

输出样例

15

考虑以 AA 为顶点的三角形数量, 线段 [A1,B][A1,B] 上任取 22 点,同 AA 可以组成三角形,因此总数量为 C(n+2,2)C(n+2,2) 。

与 [A1,B][A1,B] 类似的线段,共有 m+1m+1 条。总数为:

(n+1)∗n/2∗(m+1)(n+1)∗n/2∗(m+1)

考虑以 BB 为顶点的三角形数量, 线段 [B1,A][B1,A] 上任取 22 点,同 BB 可以组成三角形,因此总数量为 C(m+2,2)C(m+2,2) 。

与 [B1,A][B1,A] 类似的线段,共有 n+1n+1 条。总数为:

(m+1)∗m/2∗(n+1)(m+1)∗m/2∗(n+1)

这两种统计方法,有重复统计,即同时以 A,BA,B 为顶点的三角形。

这种三角形的数量为 (m+1)(n+1)(m+1)(n+1) 个。减掉这部分即可。

参考题解

#include <bits/stdc++.h>
using namespace std;
const long long Mod = 1000000007;
int main() { long long m, n;cin >> m >> n;long long ans1 = (m + 1) * ((n + 1) * (n + 2) / 2 % Mod);long long ans2 = (n + 1) * ((m + 1) * (m + 2) / 2 % Mod);long long ans3 = (m + 1) * (n + 1) % Mod;cout << (ans1 + ans2 - ans3) % Mod << endl;return 0;
}

51Nod 3203 三角形的数量相关推荐

  1. 51nod 1276 岛屿的数量

    题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 有N个岛连在一起形成了一个大的岛屿,如果海平面上升超过某些岛的高度时,则这个岛会被淹没 ...

  2. 51nod 3034 矩形的数量 V2

    题目 一个m乘n的方格图,有多少种形状不同的矩形.1x2和2x1算同一种. 例如:4*3的方格中共有9种. 1x1,1x2,1x3,2x2,2x3,3x3,4x1,4x2,4x3 输入 共一行:2个数 ...

  3. 给定一个区间寻找三角形_计算给定图片中的三角形数量–程序化解决方案

    给定一个区间寻找三角形 One of my friend sent me below image as puzzle to count the triangles. I started countin ...

  4. BSOJ 3899 -- 【CQOI2014】 数三角形

    Description 给定一个n*m的网格,请计算三个点都在格点上的三角形共有多少个.下图为4*4的网格上的一个三角形.  注意三角形的三点不能共线. Input 输入一行,包含两个空格分隔的正整数 ...

  5. 【组合取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843

    http://exam.upc.edu.cn/problem.php?id=3843&csrf=8oK86t2oHSgi3Q4SX3qOJGeENe6pfXri 时间限制: 1 Sec 内存限 ...

  6. Project Euler 102:Triangle containment 包含原点的三角形

    Triangle containment Three distinct points are plotted at random on a Cartesian plane, for which -10 ...

  7. 用python三角形_python 三角形

    <从问题到程序:用Python学编程和计算>--2.6 简单脚本程序 本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.6节,作者:裘宗燕 ...

  8. python三角形代码初中_python三角形

    <从问题到程序:用Python学编程和计算>--2.6 简单脚本程序 本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.6节,作者:裘宗燕 ...

  9. 学习笔记:unity通过Mesh网格绘制图形:三角形正方体圆柱

    一,介绍 Mesh类:通过脚本创建或是获取网格的类,网格包含多个顶点和三角形数组.顶点信息包含坐标和所在面的法线. unity中3D的世界的所有图形全部都是由三角形构成的. 比如unity已经装配好的 ...

最新文章

  1. 怎么去大蒜味(一定要看拉) - 生活至上,美容至尚!
  2. hdu3870 基于最短路的最小割
  3. 《嵌入式系统数字视频处理权威指南》——第1章 现实世界中的视频
  4. STM32之option bytes踩坑记录
  5. springmvc教程(2)
  6. docusign文档打不开_怎样查看 docusign pdf 电子签名
  7. SQL2K数据库开发二十二之索引操作在视图上创建索引
  8. cad2008加载 et拓展工具_生物信息工具 | 如何为网络图添加漂亮的图例?
  9. 使用线性回归识别sklearn中的手写数字digit
  10. zookeeper-3.6.0安装报错:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
  11. matlab2c使用c++实现matlab函数系列教程-raylpdf函数
  12. Docker容器系列教程(三):jenkins环境搭建与插件安装
  13. Linux系统下init进程的前世今生
  14. OEIS A181891
  15. hp服务器bios检测硬盘接口,惠普bios硬盘设置图解
  16. CSP - 201403-1 - 相反数 (C++)
  17. 字节跳动构建Data Catalog数据目录系统的实践
  18. 万能通用网关系统!就该这么设计,稳的一批!
  19. c语言指针near,C语言中 near指针和far指针
  20. 小米扫地机器人换了边刷很响_扫地机器人边刷常见问题解决办法,故障排除

热门文章

  1. iTunes connect Testflight 2017-04-20改版后的内部测试执行流程
  2. 超简单集成HMS ML套件二代身份证识别,一键实名认证
  3. 编码的奥秘:高级语言和低级语言
  4. FormData 类型
  5. PCIe Switch
  6. 茶学领域如何用的上计算机,计算机视觉图像处理技术在茶学领域应用分析
  7. 部分赛车游戏对方向盘支持程度记录
  8. python算法一:枚举法
  9. html5保存到桌面,win8.1将IE浏览器网页内容保存到电脑桌面的两种方法
  10. 一个简单的电磁继电器续流二极管居然可以这样讲解!