구현 다 된거같은데 자꾸 틀렸다고 나와요ㅠㅠ
소스코드 봐주실분 계신가요
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int main() {
int n ;
cin >> n;
for (int i = 0; i < n; i++) {
int x1, y1, r1, x2, y2, r2;
cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;
/* 1과 2 사이의 거리가 r사이의 거리보다 가까우면 2
거리가 같으면 1
r 사이의 거리가 작으면 0
*/
int dis = sqrt((pow(x2 - x1,2)) + (pow(y2 - y1,2))); //두 좌표 사이의 거리 O - O
int dis2 = r2 + r1; // 반지름 2개 더하기
int dis3 = max(r1, r2) - min(r1, r2); // 큰 반지름 - 작은 반지름
if (x1 > 10000 || x1 < -10000 || x2>10000 || x2 < -10000 || y1 > 10000
|| y1 < -10000 || y2>10000 || y2 < -10000 || r1 > 10000 || r2 > 10000) {
printf("좌표는 -10 부터 10, 거리는 10 이하만 가능합니다.\n"); \
}
else if (dis < dis2 && dis3 < dis) {
printf("2\n");
}
else if (dis == 0 && dis3 == 0) {
printf("-1\n");
}
else if (dis == dis2 || dis3 ==dis) {
printf("1\n");
}
else if (dis > dis2 || dis < dis3 || ((dis==0)&&(r1!=r2))){
printf("0\n");
}
}
}
댓글 0