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
- 上傳者