import java.io.*
import java.lang.Math.pow
import java.util.*
import kotlin.math.abs
import kotlin.math.pow
import kotlin.math.sqrt
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val testCase = br.readLine().toInt()
for ( i in 1..testCase) {
val st = StringTokenizer(br.readLine())
val x1 = st.nextToken().toInt()
val y1 = st.nextToken().toInt()
val r1 = st.nextToken().toInt()
val x2 = st.nextToken().toInt()
val y2 = st.nextToken().toInt()
val r2 = st.nextToken().toInt()
val distance = sqrt((x2 - x1).toDouble().pow(2.0) + (y2 - y1).toDouble().pow(2.0))
when {
x1 == x2 && y1 == y2 && r1 == r2 -> bw.write("-1\n") //두 원 100%겹침
distance == r1 + r2.toDouble() || abs(r1 - r2).toDouble() == distance -> bw.write("1\n") //두 원 외접or내접
distance > r1 + r2 || x1 == x2 && y1 == y2 && r1 != r2 || distance < abs((r2 - r1)) -> bw.write("0\n") //두 원이 떨어져있거나 접하지 않으며 안 만남
else -> bw.write("2\n") //나머지
}
bw.flush()
}
bw.close()
}
//이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다.
//
//조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오.
단계10(수학2) 마지막문제 1002번이에요
코드만 보면 간단해요.
이 문제는 원의 관한 지식이 있어야 풀 수 있는 문제라서... 코드 구현이랑은 거리가
좀 먼 느낌... 수학적인 것에 시간을 더 쏟은 느낌이네요
수학에 관한 문제를 풀다보니 구현능력은 안 늘고 수학적인 지식만 늘어나는 느낌..
그래서 이제부터 저는 가능한 구현에 관한 문제만 풀려고 해요
수학문제를 풀려고 코딩하는게 아니니깐!
'알고리즘 > 백준문제' 카테고리의 다른 글
백준 단계9 1011번 문제 코틀린 (0) | 2020.05.13 |
---|---|
백준 단계7 1065번 문제 코틀린 (0) | 2020.05.13 |
백준 단계6 4344번 문제 코틀린 (0) | 2020.05.13 |
백준 단계4 1110번 문제 코틀린 (0) | 2020.05.13 |
백준 단계3 10871번 문제 코틀린 (0) | 2020.05.13 |