三角形(triangle)
题目描述
平面上有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)相关推荐
- 337、用三角形triangle、方形square、圆形circle等“基本图形“来表示任意的 图形 如菱形 半圆
今天碰到一个题目如下 用三角形triangle.方形square.圆形circle等"基本图形"来表示任意的 图形 如菱形 半圆等,用类图或者java c++等其他编程需要应当如何 ...
- [LeetCode 120] - 三角形(Triangle)
问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶部至底部的最 ...
- 有一个三角形 Triangle,三边长分别为a, b, c (默认边长设为1) 写一类描述它。
先添加一个类 my / Triangle.java package my; public class Triangle { public int a = 1; public int b = 1; pu ...
- Android OpenGL ES(十)绘制三角形Triangle .
三角形为OpenGL ES支持的面,同样创建一个DrawTriangle Activity,定义6个顶点使用三种不同模式来绘制三角形: float vertexArray[] = {-0.8f, -0 ...
- leetcode--笔记——120. 三角形最小路径和
120. 三角形最小路径和 给定一个三角形 triangle ,找出自顶向下的最小路径和. 每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一 ...
- CSS三角形如何工作?
本文翻译自:How do CSS triangles work? There're plenty of different CSS shapes over at CSS Tricks - Shapes ...
- Android OpenGL ES 2.0绘制简单三角形
实现步骤 l 实现一个工具类ShalderUtil,用于将着色器代码加载进显卡进行编译 l 实现一个三角形Triangle类 在该类中加载着色器.初始化顶点数据.初始化着色器以及绘制三角形方法 l ...
- Leetcode 120. 三角形最小路径和 (每日一题 20210927)
给定一个三角形 triangle ,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点 ...
- 三角形最小路径和(动态规划)
原创公众号:bigsai 欢迎加入力扣打卡 文章已收录在 全网都在关注的数据结构与算法学习仓库 欢迎star 题目描述 力扣120原题 给定一个三角形 triangle ,找出自顶向下的最小路径和. ...
最新文章
- 如果有大型 Web 应用程序,可考虑执行预批编译
- 在目录下所有文件中查找字符串
- 差分约束 1:pku 1201 Intervals 2:pku 1364 King 3:hdu 1534
- iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程
- SAP ABAP和Hybris Commerce的Sample数据
- 从计算机基础知识到机器学习第1堂课,最适合新手的5场直播来了
- js 判断字符串的结尾的字符串
- STC51-1602、12232、12864液晶
- swagger 扫描java文档_使用Javadocs生成Swagger文档
- Redis学习总结(13)——分布式之数据库和缓存双写一致性方案解析!
- AS 中强制类型转换
- 我想加入阿里,我该怎么做?
- 使用rsync实现客户端与服务器端的文件同步与传送
- 机器学习与模式识别期末试题回忆
- SDN为何一直热度不减?一文解析SDN的前世今生
- 最早的即时通讯软件哪一个,你知道吗?
- php laravel vonder
- 大数据十年回顾(2):当代理论与Google云
- 飞书:远程办公更轻松
- 404页面怎么做,如何实现
热门文章
- matlab英文字母对应数字,MATLAB编程:大写英文字母转换成数值(0-25)两种代码
- 笔记本无线和有线的MAC地址修改
- 使用SuperWebSocket 构建实时 Web 应用
- Windows Server 2008之旅??Windows Server Backup功能_闲云野鹤?精神家园_百度空间
- 工程师必看:常见的PCB检测方法有哪些?
- 小米手机扩容教程_小米note手机扩容,16G升级64G
- 云计算1+X之openstack篇
- error:The calling thread cannot access this object because a different thread owns it解决方法
- PicPick软件免费版与正式版区别
- android滑动冲突的解决方案