반응형
문제 출처
https://www.acmicpc.net/problem/1002
문제 이해하기
두 좌표 (x1,y1) 지점에 반지름 r1인 원 하나와 (x2,y2) 지점에 반지름 r2인 원 하나가 교차하는 개수를 찾는 것이 핵심이다.
문제 조건
1. 조건 (x1,y1)와 (x2,y2)가 같다
1-1 r1,r2가 같으면 (-1) 출력
1-2 r1,r2가 다르면 (0) 출력
2. 1의 조건이 틀릴때
2-1 (r1+r2) > i > |(r1-r2)| 교차점이 2개
2-2 (r1+r2) == i 교차점이 1개
2-3 (r1+r2) < i 교차점이 0개
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]) {
int x1,x2,y1,y2,r1,r2,cnt,loop;
scanf("%d",&cnt);
for(loop=0;loop<cnt;loop++){
scanf("%d %d %d %d %d %d",&x1,&y1,&r1,&x2,&y2,&r2);
double i = sqrt(pow(x1-x2,2)+pow(y1-y2,2));
if(x1==x2&&y1==y2){
if(r1 == r2)
printf("-1\n");
else
printf("0\n");
}else if(abs(r1-r2)<i && i<(r2+r1))
printf("2\n");
else if(abs(r1-r2)==i || i==(r2+r1))
printf("1\n");
else
printf("0\n");
}
return 0;
}
|
반응형
'Computer Language > Algorism' 카테고리의 다른 글
[백준알고리즘] 11720 숫자의 합 (0) | 2019.05.05 |
---|---|
[백준알고리즘] 별찍기 2438, 2439, 2440, 2441 (0) | 2019.05.04 |
[백준알고리즘] 2839 설탕배달 (0) | 2019.05.03 |
[백준알고리즘] 1단계 입/출력을 받아보기 (0) | 2019.05.02 |
[백준 알고리즘] 1003 피보나치 함수 (0) | 2019.05.01 |