D:数三角 (暴力枚举,判断钝角三角形)
2020牛客寒假算法基础集训营2
题意:
n个点,问任意选三个点组成的三角形,有多少个是钝角三角形
分析:
n<=500,数据小,直接暴力枚举即可
判断是钝角三角形的条件
设三角形三边为a,b,c,c为最长边,如果a^2 +b^2< c^2,则为钝角三角形
代码:
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <vector>
#include <math.h>
#include <map>
#include <queue>
#include <set>
#define Pll make_pair
using namespace std;
typedef long long ll;
const int maxn=2e5+50;
const int inf=0x3f3f3f3f;
//const int mod=1e9+7;
const int phi=1e9+6;
const ll M=1e18+7;
struct sa{int x;int y;
}p[600];
double dis(int a,int b,int c,int d){//两点的边长return sqrt((a-c)*(a-c)+(b-d)*(b-d));
}
double diss(int a,int b,int c,int d){//两点的边长的平方return (a-c)*(a-c)+(b-d)*(b-d);
}
int main()
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d",&p[i].x,&p[i].y);}ll ans=0;for(int i=1;i<=n-2;i++)for(int j=i+1;j<=n-1;j++)for(int k=j+1;k<=n;k++){double p1=dis(p[i].x,p[i].y,p[j].x,p[j].y);double p2=dis(p[i].x,p[i].y,p[k].x,p[k].y);double p3=dis(p[k].x,p[k].y,p[j].x,p[j].y);//cout<<p1<<" "<<p2<<" "<<p3<<endl;if(p1+p2>p3&&p2+p3>p1&&p1+p3>p2){double ppp[5];double p4=diss(p[i].x,p[i].y,p[j].x,p[j].y);double p5=diss(p[i].x,p[i].y,p[k].x,p[k].y);double p6=diss(p[k].x,p[k].y,p[j].x,p[j].y);ppp[1]=p4,ppp[2]=p5,ppp[3]=p6;//cout<<ppp[1]<<" "<<ppp[2]<<" "<<ppp[3]<<endl;sort(ppp+1,ppp+4);if(ppp[3]>ppp[1]+ppp[2])ans++;}}printf("%lld\n",ans);
}
/*
3
0 0
1 0
0 1*/
D:数三角 (暴力枚举,判断钝角三角形)相关推荐
- 【CodeForces - 569C】Primes or Palindromes? (思维,分析范围,暴力枚举判断)
题干: Rikhail Mubinchik believes that the current definition of prime numbers is obsolete as they are ...
- 判断是否是最简分数(既约分数)(辗转相除法)(暴力枚举)
判断一个分数是否为既约分数的算法(既约分数是指 分数的分子和分母的最大公约数是1 ,也称为最简分数) 最简分数,是分子.分母只有公因数1的分数,或者说分子和分母互质的分数,又称既约分数 以下为2段代码 ...
- 【暴力枚举】【JAVA】P1149火柴棒数
思路 错误 用数组把0-9,每个数字所需要的火柴棒数保存下来,序号是数字,值是该数字需要的火柴棒数,使用双重循环遍历0-9,判断n-4-arr[i]-arr[j]==arr[i+j],但是我并没有把火 ...
- 暴力枚举,给出顶点坐标,求钝角三角形的个数
知识点: 普通的枚举暴力, 钝角三角形:*AB2+AC2<AC^2(AB,AC为短的两边,AD为长边) 锐角三角形:*AB2+AC2<AC^2(AB,AC为短的两边,AD为长边) 题目:* ...
- 最大字段和 冲出暴力枚举
这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...
- 枚举----暴力枚举
第一题 题目描述 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成. 比如: 210 x 6 = 1260 8 x 473 = 3784 27 x 81 = 2187 都符合要求. ...
- 每日一练蓝桥杯C语言:暴力枚举
在这里我给大家推荐一款不错刷算法学习网站:点击这处链接牛客网:牛客网作为国内内容超级丰富的 IT 题库,各种东西看的我眼花缭乱,题库+面试+学习+求职+讨论+大厂内推等等服务,堪称"互联网求 ...
- 新手入门刷题(专题三)暴力枚举
新手入门刷题(专题三)暴力枚举--->持续更新 4.14 统计方形(数据加强版) 题目描述 有一个 n×m 方格的棋盘,求其方格包含多少正方形.长方形(不包含正方形). 输入格式 一行,两个正整 ...
- 大一寒假培训(三)——暴力枚举及妙用
大一寒假培训(三) 经过两天的培训之后,第三天也到来了.今天讲的是暴力枚举.好像没什么可讲的(悄咪咪地说) 接下来还是今天的练习 nefu 8 二倍的问题 Description 给定2到15个不同的 ...
最新文章
- UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f349' in position 64: illegal multibyt
- 从零使用qemu模拟器搭建arm执行环境
- jmeter 线程执行顺序_性能测试之jmeter逻辑控制种类详解一
- 找不到本地服务器,在本地站点中找不到全局编录服务器
- Linux服务器安全设置总结
- 【飞秋】关于结构体和结构体指针的P-INVOKE
- Hive电商数仓实战
- HackerRank Shashank and List
- ecshop快速购买
- core net wireless net
- ai人工智能让女神_让女孩进入人工智能管道
- 如果A为假,则蕴含A-B恒为真
- segy地震数据的读取python_SEGY地震数据格式分析与读写
- 航天恒星系统集成项目组
- 水晶报表加载本地图片 【BY阿泰】
- limits学习之各数据类型的范围及相关属性
- 壳聚糖导管复合辛伐他汀/泊洛沙姆407水凝胶/负载转化生长因子β1温敏性壳聚糖水凝胶的制备
- 光敏电阻5506主要参数_光敏电阻详细参数?
- 完整项目持续集成方案
- 云计算——第七天(寒假)