π λ¬Έμ
1002λ²: ν°λ
κ° ν μ€νΈ μΌμ΄μ€λ§λ€ λ₯μ¬λͺ μ΄ μμ μ μλ μμΉμ μλ₯Ό μΆλ ₯νλ€. λ§μ½ λ₯μ¬λͺ μ΄ μμ μ μλ μμΉμ κ°μκ° λ¬΄νλμΌ κ²½μ°μλ -1μ μΆλ ₯νλ€.
www.acmicpc.net
π μμ΄λμ΄
https://mathbang.net/101#gsc.tab=0
λ μμ μμΉκ΄κ³, λ΄μ , μΈμ
μμΉκ΄κ³ λ λμ€λ€μ. μ΄λ²μλ λ μμ μμΉκ΄κ³μμ. μμΉκ΄κ³ λ§μ§λ§μ΄λκΉ μ μ λ°μ§ μ°¨λ¦¬κ³ λ°λΌμ€μΈμ. μκ³Ό μ§μ μ μμΉκ΄κ³, μμ ν μ κ³Ό μ μ , μ μ μμ νλ κ²μ²λΌ λ μμ΄ μ΄λ€ κ΄
mathbang.net
λ΄μ κ³Ό μΈμ μ κ΄ν λ¬Έμ μ λλ€.
κ° μ μ κΈ°μ€μΌλ‘ r λ¨μ΄μ§ 거리μ μ¬λμ΄ μλκ²½μ°λ μμ κ·Έλ €μ ν΄λΉ ν΄λΉ νΈ μμ μ¬λμ΄ μμ΄μΌ νλ€λ μλ¦¬λ‘ μΈμνμ΅λλ€.
λ°λΌμ λ μμ λ΄μ κ³Ό, μΈμ μ κ΄ν μμ λΈλ‘κ·Έλ₯Ό μ°Έκ³ νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμμ΅λλ€.
λ¬Έμ λ₯Ό ν΄κ²°νλ©΄μ 83% μμ μλ¬κ° λ°μνμ΅λλ€. μ΄ κ²½μ°λ λ°μ§λ¦μ΄ 0μ΄μ§λ§ κΈ°μ€μ΄ λλ λ μ¬λμ΄ ν μ리μ μλ κ²½μ° -1(λμ¬μ)μ΄ μλ λ μ¬λμ΄ μλ νμ λ§ κ°λ₯νκΈ° λλ¬Έμ 1μ μΆλ ₯ν΄μΌ νλ λ°λ‘ μμ΅λλ€.
π νμ΄
package λ°±μ€.μν;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class boj_1002_ν°λ {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int line = Integer.parseInt(br.readLine());
for (int i = 0; i < line; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
int r = Integer.parseInt(st.nextToken());
int x2 = Integer.parseInt(st.nextToken());
int y2 = Integer.parseInt(st.nextToken());
int r2 = Integer.parseInt(st.nextToken());
//λ μ¬λ μ¬μ΄μ 거리
int mid = (int) (Math.pow(x2 - x, 2) + Math.pow(y2 - y, 2));
if (x == x2 && y == y2 && r == r2) {
if (r == 0) sb.append("1" + "\n"); //κ°μ μ μ λ°μ§λ¦μ΄ 0μΈκ²½μ° νμ λΏμ΄λ€.
else sb.append("-1" + "\n");//κ°μκ²½μ°(무νλ), λμ¬μ
} else if (mid > Math.pow(r + r2, 2)) sb.append("0" + "\n"); //λ΄λΆμ μμ
else if (mid < Math.pow(r - r2, 2)) sb.append("0" + "\n"); // μ μ μ΄ μμ
else if (mid == Math.pow(r - r2, 2)) sb.append("1" + "\n");//λ΄μ
else if (mid == Math.pow(r + r2, 2)) sb.append("1" + "\n");//μΈμ
else sb.append("2" + "\n");//μΈμ
}
System.out.println(sb);
}
}

'λ°±μ€(boj)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [JAVA]1189 μ»΄λ°±ν, μ€λ²1 (0) | 2023.06.30 |
|---|---|
| [JAVA]13904 κ³Όμ , greedy , 골λ3 (0) | 2023.06.24 |
| [JAVA]14567 μ μ κ³Όλͺ© (μμμ λ ¬ μ λ¬Έ μΆμ²) (0) | 2023.06.17 |
| [JAVA]14676 μμ°λ μ¬κΈ°κΎΌ? μμμ λ ¬ 골λ3 (0) | 2023.06.15 |
| [JAVA]17299 μ€λ±ν°μ(골λ3, μ€ν) (0) | 2023.06.12 |