Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Circles Intersection"
https://onlinejudge.u-aizu.ac.jp/problems/0023
・円の交差判定
僕が作成、提出したコードは、以下のとおりです。
・Aizu Online Judge in C++ #Volume0 - 0023 : Circles Intersection
/* Aizu Online Judge in C++ #Volume0 - 0023 : Circles Intersection https://onlinejudge.u-aizu.ac.jp/problems/0023 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; while(n--){ double a,b,c,d,e,f; cin>>a>>b>>c>>d>>e>>f; double g=sqrt((a-d)*(a-d)+(b-e)*(b-e)); if(g+c<f){ cout<<-2<<endl; }else if(g+f<c){ cout<<2<<endl; }else if(g>c+f){ cout<<0<<endl; }else{ cout<<1<<endl; } } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/