题目描述
平面上有n个点,求出用这些点可以构成的三角形数。
输入
第一行一个整数n。

接下来n行,每行两个整数,表示点的坐标。
输出
输出仅一个整数,表示所求答案。
输入样例复制
5
0 0
1 1
1 -1
-1 -1
-1 1
输出样例复制
8
说明
Data Constraint
对于50%的数据,n<=300。
对于100%的数据,n<=3000,坐标的绝对值不超过10^4,保证没有重合的点。

.
.
.
.
.
.
分析
枚举第一个点,对于剩下的点按照和这个点连线的斜率排序一下,把相同斜率的线段放在一起,可以算出选到两条相同斜率的线段方案数,即不能构成三角形的方案数,然后统计答案。注意处理斜率不存在的情况。

.
.
.
.
.
.
程序:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;int x[4000],y[4000];
double b[100000];int main()
{int n;scanf("%d",&n);for (int i=1;i<=n;i++)scanf("%d%d",&x[i],&y[i]);long long s=(long long)n*(n-1)*(n-2)/(3*2*1);for (int i=1;i<=n-2;i++){int l=0;for (int j=i+1;j<=n;j++)if (x[i]-x[j]!=0) b[++l]=(double)(y[i]-y[j])/(double)(x[i]-x[j]); else b[++l]=2147483647;sort(b+1,b+l+1);int t=1;for (int j=2;j<=l;j++)if (b[j-1]==b[j]) t++; else{s-=(long long)((t-1)*t)/2;t=1;}s-=(long long)((t-1)*t)/2;}printf("%lld",s);return 0;
}

三角形(triangle)相关推荐

  1. 337、用三角形triangle、方形square、圆形circle等“基本图形“来表示任意的 图形 如菱形 半圆

    今天碰到一个题目如下 用三角形triangle.方形square.圆形circle等"基本图形"来表示任意的 图形 如菱形 半圆等,用类图或者java c++等其他编程需要应当如何 ...

  2. [LeetCode 120] - 三角形(Triangle)

    问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶部至底部的最 ...

  3. 有一个三角形 Triangle,三边长分别为a, b, c (默认边长设为1) 写一类描述它。

    先添加一个类 my / Triangle.java package my; public class Triangle { public int a = 1; public int b = 1; pu ...

  4. Android OpenGL ES(十)绘制三角形Triangle .

    三角形为OpenGL ES支持的面,同样创建一个DrawTriangle Activity,定义6个顶点使用三种不同模式来绘制三角形: float vertexArray[] = {-0.8f, -0 ...

  5. leetcode--笔记——120. 三角形最小路径和

    120. 三角形最小路径和 给定一个三角形 triangle ,找出自顶向下的最小路径和. 每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一 ...

  6. CSS三角形如何工作?

    本文翻译自:How do CSS triangles work? There're plenty of different CSS shapes over at CSS Tricks - Shapes ...

  7. Android OpenGL ES 2.0绘制简单三角形

    实现步骤 l  实现一个工具类ShalderUtil,用于将着色器代码加载进显卡进行编译 l  实现一个三角形Triangle类 在该类中加载着色器.初始化顶点数据.初始化着色器以及绘制三角形方法 l ...

  8. Leetcode 120. 三角形最小路径和 (每日一题 20210927)

    给定一个三角形 triangle ,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点 ...

  9. 三角形最小路径和(动态规划)

    原创公众号:bigsai 欢迎加入力扣打卡 文章已收录在 全网都在关注的数据结构与算法学习仓库 欢迎star 题目描述 力扣120原题 给定一个三角形 triangle ,找出自顶向下的最小路径和. ...

最新文章

  1. 如果有大型 Web 应用程序,可考虑执行预批编译
  2. 在目录下所有文件中查找字符串
  3. 差分约束 1:pku 1201 Intervals 2:pku 1364 King 3:hdu 1534
  4. iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程
  5. SAP ABAP和Hybris Commerce的Sample数据
  6. 从计算机基础知识到机器学习第1堂课,最适合新手的5场直播来了
  7. js 判断字符串的结尾的字符串
  8. STC51-1602、12232、12864液晶
  9. swagger 扫描java文档_使用Javadocs生成Swagger文档
  10. Redis学习总结(13)——分布式之数据库和缓存双写一致性方案解析!
  11. AS 中强制类型转换
  12. 我想加入阿里,我该怎么做?
  13. 使用rsync实现客户端与服务器端的文件同步与传送
  14. 机器学习与模式识别期末试题回忆
  15. SDN为何一直热度不减?一文解析SDN的前世今生
  16. 最早的即时通讯软件哪一个,你知道吗?
  17. php laravel vonder
  18. 大数据十年回顾(2):当代理论与Google云
  19. 飞书:远程办公更轻松
  20. 404页面怎么做,如何实现

热门文章

  1. matlab英文字母对应数字,MATLAB编程:大写英文字母转换成数值(0-25)两种代码
  2. 笔记本无线和有线的MAC地址修改
  3. 使用SuperWebSocket 构建实时 Web 应用
  4. Windows Server 2008之旅??Windows Server Backup功能_闲云野鹤?精神家园_百度空间
  5. 工程师必看:常见的PCB检测方法有哪些?
  6. 小米手机扩容教程_小米note手机扩容,16G升级64G
  7. 云计算1+X之openstack篇
  8. error:The calling thread cannot access this object because a different thread owns it解决方法
  9. PicPick软件免费版与正式版区别
  10. android滑动冲突的解决方案