暴力枚举,给出顶点坐标,求钝角三角形的个数
知识点:
普通的枚举暴力,
钝角三角形:*AB2+AC2<AC^2(AB,AC为短的两边,AD为长边)
锐角三角形:*AB2+AC2<AC^2(AB,AC为短的两边,AD为长边)
题目:*
题目链接
牛牛得到了一个平面,这个平面上有 n 个不重合的点,第 i 个点的坐标为 (xi,yi)(x_i,y_i)(xi,yi)。
牛牛想知道,这 n 个点形成的三角形中,总共有多少个钝角三角形。
输入描述:
第一行,一个正整数 n,表示点数。
第二行至第 n+1 行中,第 i+1 行包含两个整数 xi,yix_i,y_ixi,yi,表示第 i 个点的坐标。
保证 1≤n≤5001\leq n\leq 5001≤n≤500,−104≤xi,yi≤104-10^4\leq x_i,y_i\leq 10^4−104≤xi,yi≤104,任意两点不重合。
输出描述:
输出一行,一个整数表示答案。
示例1
输入
0 0
-1145 1
1 0
输出
1
1
注意点:一定要先判断三点不共线,即两点间的斜率不相等,其次不要用任意两边之和大于第三边(容易卡时间,编译可能超时)
菜鸡就是大于小于不分,还有就是用二维数组来枚举导致死wa 呜呜呜`
代码区:
#include<iostream>
#include<bits/stdc++.h>//排序所需头文件名
#include<math.h>//求平方函数 的头文件名
using namespace std;
long long x[1000],y[1000];//分别存放坐标x,y
long long lenth[4];
int main()
{int n,result=0;cin>>n;for(int i=0;i<n;++i){cin>>x[i]>>y[i];}//暴力枚举分别求长度并计算三角形个数 for(int i=0;i<n;++i){int j=i+1;for(;j<n;++j){int k=j+1;for(;k<n;++k){//求三边长度并排序 lenth[0]=pow(x[i]-x[j],2)+pow(y[i]-y[j],2);lenth[1]=pow(x[i]-x[k],2)+pow(y[i]-y[k],2);lenth[2]=pow(x[j]-x[k],2)+pow(y[j]-y[k],2);sort(lenth,lenth+3);//long double a,b,c;//a=sqrt(lenth[0]),b=sqrt(lenth[1]),c=sqrt(lenth[2]);//编译时间太长了 pass //if(((a+b)>c)&&((b+c)>a)&&((a+c)>b))long long m =x[i]*y[k]-x[j]*y[k]+x[j]*y[i];long long m1=y[i]*x[k]-y[j]*x[k]+x[i]*y[j];if(m!=m1)//判断是否共线 {if(lenth[0]+lenth[1]<lenth[2])result++;}}}}cout<<result;return 0;
}
`
暴力枚举,给出顶点坐标,求钝角三角形的个数相关推荐
- PCL ——最小包围盒(画出了最小包围盒并求出顶点坐标)
PCL --最小包围盒 2018年09月21日 15:31:01 不懂音乐的欣赏者 阅读数:35 标签: PCL包围盒外接矩形最小矩形收起 个人分类: PCL 1.包围盒简介 包围盒也叫外接最小矩 ...
- matlab求球心坐标,已知四顶点坐标求四面体外接球球心坐标
最近在做一个关于机器人标定的问题,发现求空间一点相对六轴机器人的坐标问题实际是一个求已知四顶点坐标求四面体外接球球心坐标的问题.首先控制机器人(携带工具)以四个不同姿态接触被测点,要注意四个姿态要保证 ...
- 怎么用c语言做出等妖三角形_初二数学培优,怎么用顶点坐标求三角形面积?割补法这样用很简单...
点击右上角关注"陈老师初中数理化"分享学习经验,一起畅游快乐的学习生活. 根据顶点坐标求解三角形的面积是初二数学的重要知识点,本文就例题详细解析这类题型的解题思路,希望能给初二学生 ...
- 已知三角形三个顶点坐标求面积(简单办法)
(x1, y1 ) (x2,y2 ) ( x3, y3 ) 特殊公式abs(x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2))/2; 海伦公式: [1] 假设在平面内,有一个三 ...
- 怎么找到一抛物线数组的顶点_抛物线与顶点坐标的关系如何确定抛物线开口是向上还是向下?知道抛物线的定点坐标,和x轴的交点或y轴的交点,怎么求抛物线的解析式?抛物线的顶点坐标与抛物线还有什么关系?...
我想这个你应该有用一.理解二次函数的内涵及本质 . 二次函数 y=ax2 + bx + c ( a ≠ 0 , a . b . c 是常数)中含有两个变量 x . y ,我们只要先确定其中一个变量,就 ...
- 五边形顶点坐标_足球顶点坐标的计算
              预备知识 解三棱锥顶角,空间旋转矩阵 图 1:足球透视图 足 ...
- 三角形 已知三点坐标求面积
逆时针输入设A(x1,y1),B(x2,y2),C(x3,y3) 由A–>B–>C–>A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S ,则S=(1/2)*(下面行列式) ...
- 已知三点坐标求三角形面积等几何图形学问题算法
算法1. 求多边形面积 设A(x1,y1),B(x2,y2),C(x3,y3) 由A–>B–>C–>A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S 则S=(1/2)(下面 ...
- 已知三个点坐标求 三角形面积 || 求任意多边形面积公式||判断点在直线的左侧还是右侧
已知三个点坐标求 三角形面积 由A-->B-->C-->A 按逆时针方向转.(行列式书写要求) 设三角形的面积为S 则S=(1/2)*(下面行列式) |x1 y1 1| |x2 y2 ...
最新文章
- 如何在网页中禁止使用鼠标右键?几种方法和大家分享
- Java黑皮书课后题第6章:*6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧、右侧或在直线上,编写一个程序,输入三个点p0p1p2,显示p2是否在直线p0p1
- 西安工程大学c语言试卷,知到_大学应用写作_单元测试答案知到C语言程序设计(西安工程大学)见面课答案...
- wordpress ?php the_time() ?,WordPress时间函数the_time与get_the_time解析
- linux主机添加discuz伪静态规则,Discuz! X2.5论坛win主机与linux主机伪静态设置方法...
- sweetalert2使用教程
- tensorflow学习笔记(5)卷积神经网络(CNN)
- 前端js、jQuery实现日期格式化、字符串格式化
- setValue: forKey: 和 setValue: forKeyPath:
- PS放大图片而不模糊的操作方法
- 关于字符、字符集、编码和Unicode
- 解决驱动问题导致的浏览器频繁出现闪烁
- EXCEL 边框 去不掉的解决方法
- kafka tool 2.1连接kerberos的kafka(cdh6.3.2)集群。
- bootstrap~去除input选中时的蓝色边框线
- orcad capture学习笔记---3.DRC规则设置及检查
- 修改host文件实现内网传输
- AHCI VS IDE 把我整疯了。。。
- linux svn e170001,jenkins - svn: E170001报错的原因以及解决方案
- SharePreference保存list