3 条题解
-
0
纯数学知识:
#include <stdio.h> #include <stdlib.h> #include <math.h> typedef struct circle { int x, y, r; }circle; double distance(circle *A, circle *B){ int dx = A->x-B->x; int dy = A->y-B->y; return sqrt(dx*dx + dy*dy); } int main() { int n; scanf("%d" ,&n); while(n--){ circle A, B; scanf("%d %d %d", &A.x, &A.y, &A.r); scanf("%d %d %d", &B.x, &B.y, &B.r); double d = distance(&A, &B); if(d > (A.r + B.r)){ printf("4\n"); } else if (d == (A.r + B.r)) { printf("3\n"); } else if (d > abs(A.r - B.r)&& d < (A.r + B.r)) { printf("2\n"); } else if (d == abs(A.r - B.r)) { printf("1\n"); } else { printf("0\n"); } } return 0; }
信息
- ID
- 1038
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 208
- 已通过
- 33
- 上传者