백준 1002: 터렛 /C++

2023. 2. 5. 16:12개인공부/코딩테스트

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

 

1002번: 터렛

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

www.acmicpc.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    int TestCase = 0;
    cin >> TestCase;
    
    for(int i =0; i<TestCase; ++i)
    {
        double x1,y1,r1,x2,y2,r2;
        
        cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;
        
        double r3 = hypot(x1-x2, y1-y2);
        
        if(x1 == x2 && y1 == y2 && r1== r2)
        {
            cout << -1;
        }
        else if( r1+r2 < r3)
        {
            cout << 0;
        }
        else if( r1+r2 == r3)
        {
            cout << 1;
        }
        else if(r1 > r2) 
        {
            if(r1 > r2+r3)
            {
                cout << 0;
            }
            else if(r1 == r2 + r3)
            {
                cout << 1;
            }
            else
            {
                cout << 2;
            }
        }
        else
        {
            if(r2 > r1+r3)
            {
                cout << 0;
            }
            else if(r2 == r1 + r3)
            {
                cout << 1;
            }
            else 
            {
                cout << 2;
            }
        }
        cout << endl;
        
    }
    
    return 0;
}
cs

'개인공부 > 코딩테스트' 카테고리의 다른 글

백준 3036번: 링/C++  (0) 2023.02.06
백준 1943번: 최소공배수 /C++  (0) 2023.02.06
백준 1004 : 어린 왕자 / C++  (0) 2023.02.05
백준 3053: 택시 기하학/C++  (0) 2023.02.03
백준 1764: 듣보잡 / C++  (0) 2023.02.01