https://www.acmicpc.net/problem/1002

 

1002번: 터렛

각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.

www.acmicpc.net


... 정신 없이 문제를 풀면 정신 없이 틀리게 된다.

https://mathbang.net/101

 

두 원의 위치관계, 내접, 외접

위치관계 또 나오네요. 이번에는 두 원의 위치관계에요. 위치관계 마지막이니까 정신 바짝 차리고 따라오세요. 원과 직선의 위치관계, 원의 할선과 접선, 접점에서 했던 것처럼 두 원이 어떤 관

mathbang.net

두 원의 위치관계 들여다 본 적이 언제인지 기억도 나지 않을 정도로 참 옛날이지만 오랜만에 찾아보았다.

6개로 멋지게 원의 위치를 나타내주었다.

우리는 여기서 원이 같을 때만 추가하면 된다.

Ğ̎ĭ̎t̆̎H̆̎ŭ̎b̆̎ : https://github.com/YunYunYY/BOJ_Java/blob/main/B1002.java

import java.io.*;
import java.util.StringTokenizer;
public class B1002 {
	public static void main(String[] args) throws IOException{
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		int a = Integer.parseInt(bf.readLine());
		for(int i=0;i<a;i++) {
			StringTokenizer stt = new StringTokenizer(bf.readLine());
			int x1=Integer.parseInt(stt.nextToken());
			int y1=Integer.parseInt(stt.nextToken());
			int r1=Integer.parseInt(stt.nextToken());
			int x2=Integer.parseInt(stt.nextToken());
			int y2=Integer.parseInt(stt.nextToken());
			int r2=Integer.parseInt(stt.nextToken());
			
			int d1 = (int) (Math.pow(x1-x2, 2)+Math.pow(y1-y2, 2));
			int d2 = (int) Math.pow(r1+r2, 2);
			int d3 = (int) Math.pow(r1-r2, 2);
			if(x1==x2&&y1==y2&&r1==r2)
				System.out.println(-1);
			else if(d3<d1&&d1<d2)
				System.out.println(2);
			else if(d1==d2||d1==d3)
				System.out.println(1);
			else if(d1==0) System.out.println(0);
			else System.out.println(0);
		}
	}
}

'BOJ > Java' 카테고리의 다른 글

백준 Java : #2178  (0) 2022.06.27
백준 Java : #1064  (0) 2022.04.20
Java : Lambda / stream+pipelining / Singleton  (0) 2022.04.01
백준 Java : #2217  (0) 2022.03.31
백준 Java:#8595  (0) 2022.03.22

+ Recent posts