This documentation is automatically generated by online-judge-tools/verification-helper
This project is maintained by tsutaj
// 円 c1 と円 c2 の位置関係 // Verified: AOJ CGL_7_A: Intersection int intersectCC(Circle c1, Circle c2){ Point c1p = c1.first, c2p = c2.first; double c1r = c1.second, c2r = c2.second; long double d = abs(c1p - c2p), r1 = c1r, r2 = c2r; if(r1 + r2 < d) return 0; // 離れている if(abs(r1 + r2 - d) < EPS) return -2; // 外接 if(abs(d + r1 - r2) < EPS) return +1; // c1 が c2 の中で内接 if(abs(d + r2 - r1) < EPS) return -1; // c2 が c1 の中で内接 if(d + r1 < r2) return +3; // c1 が c2 の中 if(d + r2 < r1) return -3; // c2 が c1 の中 return 2; // 2つの交点を持つ }
#line 1 "geometry/old/gmtr_007_circle_intersection.cpp" // 円 c1 と円 c2 の位置関係 // Verified: AOJ CGL_7_A: Intersection int intersectCC(Circle c1, Circle c2){ Point c1p = c1.first, c2p = c2.first; double c1r = c1.second, c2r = c2.second; long double d = abs(c1p - c2p), r1 = c1r, r2 = c2r; if(r1 + r2 < d) return 0; // 離れている if(abs(r1 + r2 - d) < EPS) return -2; // 外接 if(abs(d + r1 - r2) < EPS) return +1; // c1 が c2 の中で内接 if(abs(d + r2 - r1) < EPS) return -1; // c2 が c1 の中で内接 if(d + r1 < r2) return +3; // c1 が c2 の中 if(d + r2 < r1) return -3; // c2 が c1 の中 return 2; // 2つの交点を持つ }