题目:Hou Yi's secret

#include<stdio.h>
#include<math.h>
#include<map>
#include<iostream>
#include<string.h>
using namespace std;
const double eps=1e-6;
map<long long,int>mp;
struct Node
{
int x,y;
}node[50];
double dis(Node a,Node b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
void solve(Node a,Node b,Node c)
{
double la=dis(b,c);
double lb=dis(a,c);
double lc=dis(a,b);
if(la+lb<=lc+eps)return;
if(lb+lc<=la+eps)return;
if(la+lc<=lb+eps)return;
double A=acos((lb*lb+lc*lc-la*la)/(2*lb*lc));
double B=acos((la*la+lc*lc-lb*lb)/(2*la*lc));
double C=acos((la*la+lb*lb-lc*lc)/(2*la*lb));
if(A<eps||B<eps||C<eps)return;
int t1=(int)(A*10000);
int t2=(int)(B*10000);
int t3=(int)(C*10000);
if(t1>t2)swap(t1,t2);
if(t1>t3)swap(t1,t3);
if(t2>t3)swap(t2,t3);
if(t1==0)return;
long long t=t1*1000000*1000000+t2*1000000+t3;
mp[t]++;
}
int hole[220][220];
int main ()
{
int n;
while(scanf("%d",&n),n)
{
int t=0;
memset(hole,0,sizeof(hole));
for(int i=0;i<n;i++)
{
scanf("%d%d",&node[t].x,&node[t].y);
if(hole[node[t].x+100][node[t].y+100]==0)
{
hole[node[t].x+100][node[t].y+100]=1;
t++;
}
}
n=t;
mp.clear();
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
for(int k=j+1;k<n;k++)
solve(node[i],node[j],node[k]);
int ans=0;
map<long long,int>::iterator it;
for(it=mp.begin();it!=mp.end();it++)
{
int t=it->second;
if(t>ans)ans=t;
}
printf("%d\n",ans);
}
return 0;
}

HDU4082(相似三角形的个数)相关推荐

  1. HDU4082Hou Yi's secret(相似三角形的个数)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4082 题意: 给定n个点判断这些点能组成的三角形中,与同一个三角形相似的三角形的最大个数. 分析: ...

  2. hdu4082 Hou Yi's secret(相似三角形)

    Hou Yi's secret Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Tot ...

  3. Java—相似三角形

    Java-相似三角形 Description 给出两个三角形的三条边,判断是否相似. Input 多组数据,给出6正个整数,a1,b1,c1,a2,b2,c2,分别代表两个三角形.(边长小于100且无 ...

  4. 伍六七带你学算法 入门篇-最小的k个数

    java面试题-最小的k个数 难度-简单 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:a ...

  5. Redis 笔记(07)— sorted set 类型(添加、删除有序集合元素、获取分数范围内成员、按score排序、返回集合元素个数)

    zset 可能是 Redis 提供的最为特色的数据结构,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权 ...

  6. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

    Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...

  7. 剑指offer 40.最小的 K 个数 python代码

    题目 寻找数组中的最小的k个数,也叫topk问题. 牛客网测试地址 注意: 牛客网的提交需要将最终的结果排序 思路 快速排序的 partition() 方法,会返回一个整数 j 使得 a[l-j-1] ...

  8. pandas数据框,统计某列或者某行数据元素的个数

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/sinat_38893241/artic ...

  9. LeetCode简单题之两个数对之间的最大乘积差

    题目 两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) . 例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) ...

最新文章

  1. R语言使用reshape2包的dcast函数将dataframe从长表到宽表(Long- to wide-format)、指定单个标识符、、表格转化的时候值不唯一设置聚合函数(均值)
  2. 年运行10万台服务器数据中心方案设计公示
  3. linux之用一张图片说明文件系统结构
  4. HDU 2629 Identity Card
  5. 红包雨效果html,js+css实现红包雨效果
  6. CIF进口货物流程图_FOB、CIF和CFR,你真的了解吗?
  7. Linux!为何他一人就写出这么强的系统,中国却做不出来?
  8. Python统计txt文件中的英文单词个数
  9. Flash学习资源汇编
  10. 杭州仁和金融中心远程预付费电能管理系统的设计与应用-安科瑞耿敏花
  11. linux内核线程详解,Linux内核线程
  12. python调用通达信函数用户指标_通达信自定义指标调用
  13. Vue学习之旅Part3:Vue的全局过滤器和私有过滤器
  14. 分享一份嵌入式软件工具清单
  15. P1067 多项式输出 【模拟】
  16. C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件)
  17. 各种后缀名--使用什么软件打开
  18. 使用手机软件Bluino Loader通过蓝牙编程、烧录Arduino
  19. 题目 1904: 蓝桥杯算法提高VIP-求arccos值
  20. Android jetpack navigation

热门文章

  1. Zuul:Pre和Post过滤器(上)
  2. Cortex-M3-中断/异常的响应序列
  3. virtualbox+vagrant学习-2(command cli)-27-vagrant connect命令
  4. 【自用】 TensorFlow merge_all_summaries SummaryWriter 报错问题
  5. 理解 Neutron FWaaS - 每天5分钟玩转 OpenStack(117)
  6. 【转载】MyBatis报错Invalid bound statement (not found)
  7. VMware克隆centos系统后不能识别eth0
  8. Jmeter(7)调试工具---HTTP Mirror Server
  9. Python命令行自动补全和记录历史命令
  10. 为CentOS 6 配置本地YUM源