package backjoon;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
	
	public static void main(String[] args) throws IOException
	{
		//position1 x1, y1 / distance r1
		int x1 = 0 , y1 = 0, r1 = 0;
		
		//position2 x2, y2 / distance r2
		int x2 = 0 , y2 = 0, r2 = 0;
		
		
		//적의 위치는 A원과 B원이 겹치는 부분에 존재함
		//따라서 원 두개가 만나는 경우는 0 , 1 , 2
		//두원의 반지름이 r1, r2이고 r1+r2 = 두 원의 중심의 거리와 같으면 만나는점이 1개 
		//두원의 반지름이 ..       r1+r2 < 두원의 중심의 거리 0개 안만나는 경우
		//...                r1+r2 > 두원의 중심의 거리 2개 겹치는 경우
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		StringTokenizer strToken;
		
		int count = 0;
		count = Integer.parseInt(br.readLine());
		
		while(count > 0)
		{
			strToken = new StringTokenizer(br.readLine());
			
			x1 = Integer.parseInt(strToken.nextToken());
			y1 = Integer.parseInt(strToken.nextToken());
			r1 = Integer.parseInt(strToken.nextToken());
			
			x2 = Integer.parseInt(strToken.nextToken());
			y2 = Integer.parseInt(strToken.nextToken());
			r2 = Integer.parseInt(strToken.nextToken());
			
			double distance = Math.sqrt(Math.pow(x1 - x2 , 2) + Math.pow(y1 - y2, 2));
			
			if(r2 - r1 < distance && distance < r1 + r2)
			{
				//원이 두점
				bw.write("2"+ "\n");
			}
			else if(distance == r1 + r2)
			{
				//원이 외접 한점에서
				bw.write("1"+ "\n");
			}
			else if(distance == r2 - r1 && distance != 0)
			{
				//원이 내접
				bw.write("1"+ "\n");
			}
			else if(distance < r2 - r1)
			{
				//하나의 원이 다른 원을 포함 (만나지 않음)
				bw.write("0"+ "\n");
			}
			else if(distance > r1 + r2)
			{
				//두 원이 멀리 떨어져있는 경우
				bw.write("0"+ "\n");
			}
			else if(distance == 0 && r1 == r2)
			{
				//두원이 같은 경우
				bw.write("-1"+ "\n");
			}
			
			count --;
		}
		bw.flush();
	}
}

 동작은 되는데 왜 채점이 틀릴까나.. 

 

 

 

 

'AREA(지속적인 일상) > 02_백준' 카테고리의 다른 글

[백준] - 2753 - 윤년  (0) 2021.08.24
[백준] - 1330 대소 비교  (0) 2021.08.24
[백준] 1009번 - 분산처리  (0) 2021.08.24
[백준] 2588 곱셈  (0) 2021.08.23
[백준 15552] 빠른 A+B (Java)  (0) 2020.02.24