题目描述

对于一个N个定点的凸多边形,他的任何三条对角线都不会交于一点。请求楚图形中对角线交点的个数。

例如,6边形:

输入输出格式

输入格式:

第一行一个n,代表边数。

输出格式:

第一行输出交点数量

输入输出样例

输入样例#1: 复制

3

输出样例#1: 复制

0

输入样例#2: 复制

6

输出样例#2: 复制

15

说明

50%的测试数据 3≤N≤100;

100%的测试数据 3≤N≤100000.

一道代码难度与思维难度成绝对反比的题目

首先由于不会有三条对角线交于一点,所以过某一个交点有且只能有2条对角线

而这两条对角线实质上是确定了4个顶点(也可以看做是一个四边形的两条对角线交于一点,求四边形的数量)。

因此我们只需要确定4个顶点就得到了这个唯一确定的交点。

因此我们只需要求这样4个顶点的搭配有多少个了

也就是从n个顶点中取4个出来。

根据组合数的公式,(如果你不知道组合数的公式可以这么推:第一次取可以n个点都是可以取的,第二次取的时候第一个取的点就不能取了,所以只能取(n-1)种,以此类推)

由于改变四个点的顺序不会改变对角线,因此是求的组合而不是排列,也就要除以4!,也就是24

于是我们就得到了公式: n (n-1) (n-2) * (n-3) / 24

输出用unsigned long long

#include<cstdio>
#include<iostream>
using namespace std;
main() {unsigned long long N;cin>>N;cout<<N * (N - 1) / 2  * (N - 2) / 3 * (N - 3) / 4;return 0;
}

转载于:https://www.cnblogs.com/zwfymqz/p/8870291.html

洛谷P2181 对角线(组合数)相关推荐

  1. 洛谷P2181答案C语言,洛谷P2181 对角线(组合数)

    题目描述 对于一个N个定点的凸多边形,他的任何三条对角线都不会交于一点.请求楚图形中对角线交点的个数. 例如,6边形: 输入输出格式 输入格式: 第一行一个n,代表边数. 输出格式: 第一行输出交点数 ...

  2. 洛谷P2181 对角线

    一般我们见到这种多边形可以认定为n边形,我们可以知道n边形的对角线是n(n-3)/2,因此我们可以推断中间交点的数量,如:四边形对角线交点为 1个:五边形对角线交点为5个:六边形对角线为15个等等所以 ...

  3. 洛谷P2181 对角线(c语言)

    第三篇题解 题目描述 对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点.请求出图形中对角线交点的个数. 例如,6 边形: 输入格式 输入只有一行一个整数 nn,代表边数. 输出格式 输 ...

  4. 洛谷P2181对角线题解(C语言)

    题目描述 对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点.请求出图形中对角线交点的个数. 例如,6 边形: 输入格式 输入只有一行一个整数n,代表边数. 输出格式 输出一行一个整数代 ...

  5. 洛谷 P2181 对角线

    P2181 对角线 传送门 题目描述 对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点.请求出图形中对角线交点的个数. 例如,6 边形: 输入格式 输入只有一行一个整数 n,代表边数. ...

  6. 洛谷P2181——对角线

    P2181 对角线 原题传送 题目描述 对于一个N个定点的凸多边形,他的任何三条对角线都不会交于一点.请求楚图形中对角线交点的个数. 例如,6边形: 输入输出格式 输入格式: 第一行一个n,代表边数. ...

  7. 洛谷 - P2181 - 对角线 - 打表 - 组合数学

    https://www.luogu.org/problemnew/show/P2181 对于某条对角线,除去从两端出发的对角线,其他的都与它有1个交点. 每个点有(n-3)条对角线,每条对角线和其余C ...

  8. 洛谷 P2181对角线——排列组合

    P2181看到的时候觉得思考难度极大,想要利用图论求解,但没有思路,最后从答案中明白,核心是排列组合,三条对角线不会交于一点,所以任何一点都必须由两条对角线组成--即四个点确定一个交点. 也就是问,顶 ...

  9. 洛谷 P2181 对角线(C语言)

    题目描述 对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点.请求出图形中对角线交点的个数. 例如,6 边形: 输入格式 输入只有一行一个整数 n,代表边数. 输出格式 输出一行一个整数 ...

最新文章

  1. python文件安全传输系统_安全的directconnect文件传输程序
  2. procreate基本操作
  3. 【渝粤教育】国家开放大学2018年春季 0341-21T高级英语听力(2) 参考试题
  4. 【测试】测试用例8大法
  5. Qt文档阅读笔记-void QObject::deleteLater()解析
  6. 计算机单元格的引用计算,计算机应用 单元格的引用 单元格的引用.pptx
  7. 解决w3wp.exe内存占用问题[转载]
  8. 常用品牌交换机镜像抓包配置
  9. “攀哥”离场 不掩融云组最强战舰技术顶流如云
  10. position四个属性值的关系
  11. PEER地震库地震波获取方法
  12. 复旦计算机系统基础课件,复旦大学软件工程考研(MSE)计算机系统基础复习资料PPT演示课件...
  13. 智能问答机器人python_帮帮智能问答机器人中TaskBot任务对话算法实践
  14. 一个Scrapy爬虫实例
  15. 解决viewUI中 DatePicker控件获取的日期总是少一天的问题
  16. 对「曲线拟合」和「最小二乘法」的个人理解
  17. ATTCK实战系列——红队实战(一)
  18. 编程文档中心-(好东西一起分享)
  19. 初中信息技术计算机基础说课稿,初中信息技术说课稿《新建文件夹》
  20. PCL-surface/on_nurbs模块分析

热门文章

  1. html辅助方法以及常用属性值,ASP.NET MVC 2博客系列之一:强类型HTML辅助方法
  2. oracle10.2.0.4 dbca,在rhel5上oracle 10.2.0.4 上dbca silent删除数据库
  3. 螺旋进刀非法平面选择_进刀方法、刀片类型、术语...螺纹加工重点知识你都知道吗?...
  4. maxwell监控mysql_利用Maxwell组件实时监听Mysql的binlog日志
  5. android+动态地图+效果图,Android百度地图绘制圆形,圆形半径可动态变化
  6. 请说明计算机基本术语中字节,二进制中的3位可以表示几种状态
  7. Linux删除安卓温控,RK平台关闭温度控制降频功能
  8. python统计excel_Python操作excel做些统计
  9. cobbler命令_使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)
  10. MATLAB离散傅里叶变换实验结果分析,Matlab离散傅里叶变换实验报告