您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 0浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

星拱北辰 发布时间:2020-01-17 11:29:48 ,浏览量:0

前言

好久没写博客啦~~

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

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

题目要求

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             
关注
打赏
1660750074
查看更多评论
0.0463s