51Nod 3203 三角形的数量
三角形的 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 三角形的数量相关推荐
- 51nod 1276 岛屿的数量
题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 有N个岛连在一起形成了一个大的岛屿,如果海平面上升超过某些岛的高度时,则这个岛会被淹没 ...
- 51nod 3034 矩形的数量 V2
题目 一个m乘n的方格图,有多少种形状不同的矩形.1x2和2x1算同一种. 例如:4*3的方格中共有9种. 1x1,1x2,1x3,2x2,2x3,3x3,4x1,4x2,4x3 输入 共一行:2个数 ...
- 给定一个区间寻找三角形_计算给定图片中的三角形数量–程序化解决方案
给定一个区间寻找三角形 One of my friend sent me below image as puzzle to count the triangles. I started countin ...
- BSOJ 3899 -- 【CQOI2014】 数三角形
Description 给定一个n*m的网格,请计算三个点都在格点上的三角形共有多少个.下图为4*4的网格上的一个三角形. 注意三角形的三点不能共线. Input 输入一行,包含两个空格分隔的正整数 ...
- 【组合取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843
http://exam.upc.edu.cn/problem.php?id=3843&csrf=8oK86t2oHSgi3Q4SX3qOJGeENe6pfXri 时间限制: 1 Sec 内存限 ...
- Project Euler 102:Triangle containment 包含原点的三角形
Triangle containment Three distinct points are plotted at random on a Cartesian plane, for which -10 ...
- 用python三角形_python 三角形
<从问题到程序:用Python学编程和计算>--2.6 简单脚本程序 本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.6节,作者:裘宗燕 ...
- python三角形代码初中_python三角形
<从问题到程序:用Python学编程和计算>--2.6 简单脚本程序 本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.6节,作者:裘宗燕 ...
- 学习笔记:unity通过Mesh网格绘制图形:三角形正方体圆柱
一,介绍 Mesh类:通过脚本创建或是获取网格的类,网格包含多个顶点和三角形数组.顶点信息包含坐标和所在面的法线. unity中3D的世界的所有图形全部都是由三角形构成的. 比如unity已经装配好的 ...
最新文章
- 怎么去大蒜味(一定要看拉) - 生活至上,美容至尚!
- hdu3870 基于最短路的最小割
- 《嵌入式系统数字视频处理权威指南》——第1章 现实世界中的视频
- STM32之option bytes踩坑记录
- springmvc教程(2)
- docusign文档打不开_怎样查看 docusign pdf 电子签名
- SQL2K数据库开发二十二之索引操作在视图上创建索引
- cad2008加载 et拓展工具_生物信息工具 | 如何为网络图添加漂亮的图例?
- 使用线性回归识别sklearn中的手写数字digit
- zookeeper-3.6.0安装报错:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
- matlab2c使用c++实现matlab函数系列教程-raylpdf函数
- Docker容器系列教程(三):jenkins环境搭建与插件安装
- Linux系统下init进程的前世今生
- OEIS A181891
- hp服务器bios检测硬盘接口,惠普bios硬盘设置图解
- CSP - 201403-1 - 相反数 (C++)
- 字节跳动构建Data Catalog数据目录系统的实践
- 万能通用网关系统!就该这么设计,稳的一批!
- c语言指针near,C语言中 near指针和far指针
- 小米扫地机器人换了边刷很响_扫地机器人边刷常见问题解决办法,故障排除