Skip to content

Commit cfe08ec

Browse files
committed
week 37
1 parent 342b31a commit cfe08ec

File tree

1 file changed

+49
-2
lines changed

1 file changed

+49
-2
lines changed
Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,55 @@
1+
// (1) 같은 원 -1
2+
// (2) 교점이 없음 0
3+
// (3) 원 안에 원 0
4+
// (4) 한 점에서 만남 1
5+
// (5) 두 점에서 만남
6+
17
import java.util.*;
28
import java.io.*;
39

410
public class Main{
511
public static void main(String[] args) throws IOException{
6-
BufferedReader br = new BufferedReader(new InputStreamReader(Systme.in));
12+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
13+
StringBuilder sb = new StringBuilder();
14+
15+
int N = Integer.parseInt(br.readLine());
16+
17+
for(int i = 0; i < N; i++){
18+
StringTokenizer st = new StringTokenizer(br.readLine());
19+
20+
int x1 = Integer.parseInt(st.nextToken());
21+
int y1 = Integer.parseInt(st.nextToken());
22+
int r1 = Integer.parseInt(st.nextToken());
23+
24+
int x2 = Integer.parseInt(st.nextToken());
25+
int y2 = Integer.parseInt(st.nextToken());
26+
int r2 = Integer.parseInt(st.nextToken());
27+
28+
int result = circle_option(x1, y1, r1 , x2, y2, r2);
29+
sb.append(result).append('\n');
30+
}
31+
System.out.print(sb);
32+
}
33+
34+
public static int circle_option(int x1, int y1, int r1, int x2, int y2, int r2){
35+
36+
int dx = x1 - x2;
37+
int dy = y1 - y2;
38+
int d = dx*dx + dy*dy;
39+
40+
int sum = r1 + r2;
41+
int diff = Math.abs(r1 - r2);
42+
43+
if (d == 0 && r1 == r2) {
44+
return -1;
45+
} else if (d > sum*sum) {
46+
return 0;
47+
} else if (d < diff*diff) {
48+
return 0;
49+
} else if (d == sum*sum || d == diff*diff) {
50+
return 1;
51+
} else {
52+
return 2;
53+
}
754
}
8-
}
55+
}

0 commit comments

Comments
 (0)