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:数三角 (暴力枚举,判断钝角三角形)相关推荐

  1. 【CodeForces - 569C】Primes or Palindromes? (思维,分析范围,暴力枚举判断)

    题干: Rikhail Mubinchik believes that the current definition of prime numbers is obsolete as they are ...

  2. 判断是否是最简分数(既约分数)(辗转相除法)(暴力枚举)

    判断一个分数是否为既约分数的算法(既约分数是指 分数的分子和分母的最大公约数是1 ,也称为最简分数) 最简分数,是分子.分母只有公因数1的分数,或者说分子和分母互质的分数,又称既约分数 以下为2段代码 ...

  3. 【暴力枚举】【JAVA】P1149火柴棒数

    思路 错误 用数组把0-9,每个数字所需要的火柴棒数保存下来,序号是数字,值是该数字需要的火柴棒数,使用双重循环遍历0-9,判断n-4-arr[i]-arr[j]==arr[i+j],但是我并没有把火 ...

  4. 暴力枚举,给出顶点坐标,求钝角三角形的个数

    知识点: 普通的枚举暴力, 钝角三角形:*AB2+AC2<AC^2(AB,AC为短的两边,AD为长边) 锐角三角形:*AB2+AC2<AC^2(AB,AC为短的两边,AD为长边) 题目:* ...

  5. 最大字段和 冲出暴力枚举

    这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...

  6. 枚举----暴力枚举

    第一题 题目描述 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成. 比如: 210 x 6 = 1260 8 x 473 = 3784 27 x 81 = 2187 都符合要求. ...

  7. 每日一练蓝桥杯C语言:暴力枚举

    在这里我给大家推荐一款不错刷算法学习网站:点击这处链接牛客网:牛客网作为国内内容超级丰富的 IT 题库,各种东西看的我眼花缭乱,题库+面试+学习+求职+讨论+大厂内推等等服务,堪称"互联网求 ...

  8. 新手入门刷题(专题三)暴力枚举

    新手入门刷题(专题三)暴力枚举--->持续更新 4.14 统计方形(数据加强版) 题目描述 有一个 n×m 方格的棋盘,求其方格包含多少正方形.长方形(不包含正方形). 输入格式 一行,两个正整 ...

  9. 大一寒假培训(三)——暴力枚举及妙用

    大一寒假培训(三) 经过两天的培训之后,第三天也到来了.今天讲的是暴力枚举.好像没什么可讲的(悄咪咪地说) 接下来还是今天的练习 nefu 8 二倍的问题 Description 给定2到15个不同的 ...

最新文章

  1. UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f349' in position 64: illegal multibyt
  2. 从零使用qemu模拟器搭建arm执行环境
  3. jmeter 线程执行顺序_性能测试之jmeter逻辑控制种类详解一
  4. 找不到本地服务器,在本地站点中找不到全局编录服务器
  5. Linux服务器安全设置总结
  6. 【飞秋】关于结构体和结构体指针的P-INVOKE
  7. Hive电商数仓实战
  8. HackerRank Shashank and List
  9. ecshop快速购买
  10. core net wireless net
  11. ai人工智能让女神_让女孩进入人工智能管道
  12. 如果A为假,则蕴含A-B恒为真
  13. segy地震数据的读取python_SEGY地震数据格式分析与读写
  14. 航天恒星系统集成项目组
  15. 水晶报表加载本地图片 【BY阿泰】
  16. limits学习之各数据类型的范围及相关属性
  17. 壳聚糖导管复合辛伐他汀/泊洛沙姆407水凝胶/负载转化生长因子β1温敏性壳聚糖水凝胶的制备
  18. 光敏电阻5506主要参数_光敏电阻详细参数?
  19. 完整项目持续集成方案
  20. 云计算——第七天(寒假)

热门文章

  1. html免流脚本,免流一键搭建脚本跑商速度
  2. UIPath的发布过程
  3. 江西省计算机学业水平考试试题,江西省高中信息技术学业水平考试(样题)
  4. Java——吃货联盟订餐系统(基础知识)
  5. 妈妈买了香水,她曾经爱过
  6. python微博接口_使用python调用新浪微博接口
  7. 2021.10.14股票小计
  8. 看完这篇 HashMap,和面试官扯皮就没问题了
  9. 什么是云服务,云终端,云计算?
  10. 节能减排绿色电力,可视化打造智慧虚拟电厂(二)