CF199B 题解
思路
枚举每个圆半径 和另一组中的圆环内外圆的半径 ,设 为圆心距 ,若 ,说明 和 没有相交,合法;若 ,则说明 包含了 ,合法;若 ,说明 包含 ,也合法。
思路
# include <bits/stdc++.h>
using namespace std;
int x_1, y_1, r_1, R_1, x_2, y_2, r_2, R_2;
double x;
int f (int& a, int& b, int& c) {
return a + c <= x || x <= a - c || x <= b - a;
}
int main () {
ios::sync_with_stdio (0);
cin.tie (0);
cout.tie (0);
cin >> x_1 >> y_1 >> r_1 >> R_1 >> x_2 >> y_2 >> r_2 >> R_2;
x = sqrt ((x_1 - x_2) * (x_1 - x_2) + (y_1 - y_2) * (y_1 - y_2));
cout << f (r_1, r_2, R_2) + f (R_1, r_2, R_2) + f (r_2, r_1, R_1) + f (R_2, r_1, R_1);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?