티스토리 뷰

백준

백준 소스코드 [C++] 1002 터렛

Hani_Levenshtein 2020. 8. 21. 00:41

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

 

1002번: 터렛

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

www.acmicpc.net

백준 소스코드 [C++] 1002 터렛

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	int n;
	double distance, x1, y1, r1, x2, y2, r2;
	cin >> n;
	for (int i = 0;i < n;i++) {
		cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;
		distance = sqrt(pow((x1 - x2),2) + pow((y1 - y2),2));
		if (distance == 0 && r1==r2) cout << "-1" << '\n';
		else if ((distance == 0 && r1 != r2) || (distance >r1+r2)|| (distance < abs(r1 - r2)))cout << "0" << '\n';
		else if ((distance == r1 + r2) || (distance == abs(r1 - r2))) cout << "1" << '\n';
		else if (distance < r1 + r2) cout << "2" << '\n';
		
	}
	return 0;
}
댓글