首页 > 试题广场 >

小O的平面画圆

[编程题]小O的平面画圆
  • 热度指数:289 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
平面上有 n 个圆,请你找到一个圆,满足和其余所有的圆都不存在交点。

我们定义,两个圆包含或者相离均视为没有交点。

输入描述:
第一行输入一个正整数 n\ (1\leq n \leq 1000) 表示圆的数量。
此后 n 行,第 i 行输入三个正整数 x_i,y_ir_i\ (1 \leq x_i, y_i, r_i \le 10^9) ,代表第 i 个圆的圆心为 (x_i,y_i),半径为 r_i 。


输出描述:
若不存在这样的圆,直接输出 -1 ;否则,输出一个正整数i ,代表第 i 个圆满足条件。

如果有多个满足题意的答案,你只需要输出其中一种即可。
示例1

输入

3
1 1 1
2 2 2
3 3 5

输出

3

说明

第一个圆和第二个圆相切(有一个交点)。
第三个圆和前两个圆均没有交点。

头像 丨阿伟丨
发表于 2025-09-11 17:21:06
题目链接 小O的平面画圆 题目描述 平面上有 个圆,每个圆由其圆心坐标 和半径 定义。你需要找到一个圆,它与其他所有的圆都没有交点。 我们定义,两个圆没有交点的情况包括:一个圆完全包含在另一个圆内部,或者两个圆完全分离(相离)。反之,如果两个圆相切(内切或外切)或有两个交点,则视为有交点。 若 展开全文
头像 有胆量的柯基在学习
发表于 2025-08-22 15:56:29
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<long long> x(n), y(n), r(n); for 展开全文