暴力枚举题:平面上的点与外心

问题:



思路:

首先,外心是唯一的,我们需要枚举外心,若有点在圆上,则这些点到该外心的距离相等。因此我们需求出外心到所有点的距离,接下来是一个组合问题,如果外心到x个点的距离相同,那么不同的三点组的数目为Cx3=x(x-1)(x-2)/3!=x(x-1)(x-2)/6。因此我们用map保存距离,以及到外心为该距离的点的数目,最后遍历该map,找出点的数目>=3的,按上述组合公式计算即可

代码:

需注意的点
直接import java.util.*是可行的

import java.util.*;public class Main {public static void main(String[] args) {int[][] point = new int[2001][2];int n;Scanner scanner = new Scanner(System.in);n = scanner.nextInt();int i;for (i = 0;i < n;i++) {point[i][0] = scanner.nextInt();point[i][1] = scanner.nextInt();}int ans = 0;int j;long x;long y;long dis;int num;Map<Long, Integer> map = new HashMap<>();for (i = 0;i < n;i++) {map.clear();x = point[i][0];y = point[i][1];for (j = 0;j < n;j++) {if (j != i) {dis = (x - point[j][0]) * (x - point[j][0]) + (y - point[j][1]) * (y - point[j][1]);if (map.get(dis) == null) {map.put(dis, 1);} else {map.put(dis, map.get(dis) + 1);}}}Iterator iterator = map.keySet().iterator();while (iterator.hasNext()) {num = map.get(iterator.next());if (num >= 3) {ans += (num) * (num - 1) * (num - 2) / 6;}}}System.out.println(ans);}
}

暴力枚举题:平面上的点与外心相关推荐

  1. 一道暴力枚举题Win32版本示例

    来看一个问题:该问题的解法是 暴力枚举:这大概是ACM方面的:名称叫火柴棒等式: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数( ...

  2. 【OJ】洛谷暴力枚举题单题解锦集

    题单简介 题目解析 P2241 统计方形(数据加强版) P2089 烤鸡 P1618 三连击(升级版) P1036 选数 P1157 组合的输出 P1706 全排列问题 P1088 火星人 P3392 ...

  3. 洛谷[P3799 妖梦拼木棒] {暴力枚举} 奋斗的珂珂~

    洛谷[P3799 妖梦拼木棒] {暴力枚举} 题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 n 根木棒,现在从中选 4 根,想要组成一个正三角形,问有几种选法? 答案 ...

  4. 暴力枚举也不能没有底线(洛谷P1003题题解,Java语言描述)

    题目要求 P1003题目链接 分析 这题必然是暴力枚举,但关键是怎么枚举...不能没有底线的无脑枚举... 事实上,我们不可能打开一个二维数组,每加一个地毯就把全部元素写进去,那样无论时间还是空间真的 ...

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

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

  6. Java黑皮书课后题第3章:**3.27(几何:点是否在三角形内)假设一个平面上有一个直角三角形。编写程序,提示用户输入一个点的x坐标和y坐标,然后判断这个点是否在该三角形内

    **3.27(几何:点是否在三角形内)假设一个平面上有一个直角三角形.编写程序,提示用户输入一个点的x坐标和y坐标,然后判断这个点是否在该三角形内 题目 题目描述 破题 运行示例 代码 题目 题目描述 ...

  7. 寒假集训三(暴力枚举)2020.01.02(11题)

    寒假集训三(暴力枚举)id :521 Problem:A 二倍的问题 Description 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍.比如给 ...

  8. COW(暴力枚举) + 玄神的字符串(思维题) + Duplicate Strings(字符串思维题)

    '只要坚持就会成功--2022.1.22' 1.COW,这道题的大概意思就是求出一个字符串中一共有多少个COW,不要求连续. 思路: 暴力枚举,枚举每一个包含O,看这个O和前后的C,W结合能组成多少个 ...

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

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

最新文章

  1. 浙江大学软件学院2020年保研上机模拟练习 7-3 Partial School Ranking
  2. RDKit | 基于Lipinski规则过滤化合物库
  3. 矿用巷道巡检机器人_一种井下自动巡检机器人系统
  4. 安卓手机能用signal吗_现在的安卓手机可以直接更新成鸿蒙系统吗?还是必须购买新的手机?...
  5. 八张图彻底了解JDK8 GC调优秘籍-附PDF下载
  6. python冷知识_python冷知识
  7. python matplotlib画图是设置线宽
  8. Python为视频设置遮罩实现异形窗口播放
  9. 句句真研—每日长难句打卡Day3
  10. 简单的LRU Cache设计与实现
  11. 【编程语言】正则表达式快速上手
  12. 计算机密码输入正确,Win10输入正确密码却提示“密码不正确”如何解决
  13. 天轰穿·甜老丝儿。科创少年
  14. php未来发展前景如何
  15. 【学习笔记】seckill-秒杀项目--(2)登录功能及完善
  16. 电路设计软件系列教程(五),Protel DXP电路设计软件之设计规则(上)
  17. IO端口和IO内存映射【waitting】
  18. MobileNet_v1:深度可分离卷积
  19. 8K视频处理和工作原理,8K视频处理分析
  20. 视频|《8问》浙江大学张宏鑫:边缘计算或许是区块链的福音

热门文章

  1. iOS 【invalid nib registered for identifier(Cell)】
  2. snap.py 教程
  3. (信贷风控九)行为评分卡模型python实现
  4. 玛娜火花Mana Spark for Mac游戏介绍
  5. 解决ORA-O4O89:无法对sys拥有的对象创建触发器
  6. mmdetection运行demo出现 no attribute ‘__version__‘
  7. 曙光云计算技术助力解放军联合作战指挥体制
  8. 【第三期】电子元器件创意作品,附带高清原图,共计60张
  9. mysql string agg_postgresql合并string_agg函数的实例
  10. .dll文件有什么用?