前言

好久没写博客啦~~

前一段时间忙别的事,也给自己好好“放了个假”,准备开始新的旅程了!!!

那就先刷刷水题陶冶情操吧~~

题目要求

P1652题目链接

分析

看起来挺迷惑,实际上还挺简单的。

我们这么来思考这个问题:

两圆之间的位置关系有5种——内含外离相交内切外切
题目要求“不相交”,即不能有“相交”、“内切”、“外切”,所以只有“内含”、“外离”。

既然是任意曲线,且不能相交,那么我们一定可以有N条路径,可以与指定点不位于其中的任何圆不相交。(这句话好好读读,比较hhhhh)这样就可以求我们要求的“最少”。

据上分析,我们关注的焦点就是——指定点位于哪些圆内部

但是,我们还要注意,如果两个点同时位于同一个圆内,则可以不穿过这个圆

这样就有两种情况啦:

  1. 点1在,点2不在
  2. 点1不在,点2在

所以就可以写我们的算法啦。。。

所有数据读进去,用数组就可以随机访问,且索引一一对应啦!!

AC代码(Java语言描述)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();int[] x_array = new int[num];int[] y_array = new int[num];int[] radius_array = new int[num];for (int i = 0; i < num; i++) {x_array[i] = scanner.nextInt();}for (int i = 0; i < num; i++) {y_array[i] = scanner.nextInt();}for (int i = 0; i < num; i++) {radius_array[i] = scanner.nextInt();}int x1 = scanner.nextInt(), y1 = scanner.nextInt(), x2 = scanner.nextInt(), y2 = scanner.nextInt();scanner.close();int counter = 0;for (int i = 0; i < num; i++) {if (Math.pow((x1 - x_array[i]), 2) + Math.pow(y1 - y_array[i], 2) <= Math.pow(radius_array[i], 2)) {if (!(Math.pow((x2 - x_array[i]), 2) + Math.pow(y2 - y_array[i], 2) <= Math.pow(radius_array[i], 2))) {counter++;}} else {if (Math.pow((x2 - x_array[i]), 2) + Math.pow(y2 - y_array[i], 2) <= Math.pow(radius_array[i], 2)) {counter++;}}}System.out.println(counter);}
}

祝大家新年快乐!!!

是圆的问题呢(洛谷P1652题题解,Java语言描述)相关推荐

  1. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  2. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  3. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

  4. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  5. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  6. 求子集元素之和(洛谷P2415题题解,Java语言描述)

    题目要求 P2415题目链接 分析 这题我觉得--当个数学题做就好了嘛. 有一个数N的情况:result = 1 * N 有两个数N1.N2的情况:result = 2 * (N1+N2) 有三个数N ...

  7. 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)

    题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...

  8. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

  9. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

最新文章

  1. 爬虫图片href是html图片,python爬虫取图片详解,
  2. 自然语言处理算法工程师历史最全资料汇总-基础知识点、面试经验
  3. UiBot新版本即将上线!添加Java程序支持!
  4. 成功解决NVIDIA安装程序无法继续  Ths OCH driver package is not conmtibIe with the currently uistalled version of
  5. mysql改国标码_MySQL 优化实施方案
  6. ​“统治”移动处理器市场的Arm为何明年Q1才发布AI处理器?
  7. 【学生党福利】AD 学生免费许可申请
  8. 重大改革!Python将被加入高考科目!
  9. 【面经】字节跳动 算法面试复盘
  10. 获取Element UI中button组件的ID值
  11. Ubuntu16.04 安装Spyder问题
  12. 西安交大王之坤摘得金奖桂冠,浙大团体第一,1016名高手同台竞技CCSP2020
  13. 安装深度linux系统卡住不动,简单有效!一招解决深度Linux死机问题
  14. 2021-2027全球与中国拆弹机器人市场现状及未来发展趋势
  15. STM8S编译错误unable to allocate space for sections/blocks with a total
  16. 解决苹果电脑(Mac)无法写入移动硬盘的方法
  17. Mac运行已安装软件提示“XXX 已损坏,打不开。移到废纸篓/推出磁盘映像。”解决方法
  18. 《数据结构》C语言版(严蔚敏)——绪论(一)
  19. 默认文献工具_极大提高效率:深度学习论文写作工具杂谈
  20. Cython(一)安装与使用

热门文章

  1. vagrant box各种命令汇总
  2. 深入浅出的排序算法-冒泡排序
  3. 企业案例(二):增量恢复案例
  4. 复制GAC中的DLL
  5. UpdatePanel的妙用:Incremental Content
  6. CSS 横向导航栏(由竖向改成横向 float)
  7. 严重: StandardServer.await: create[localhost:8005]
  8. linux修改hostname
  9. python字符串的表示形式_python - 如何为类对象创建自定义字符串表示形式?_class_酷徒编程知识库...
  10. vue 时间回显 格式化_VSCode 开发Vue必备插件