/**
* Author: Simon Lindholm
* Date: 2015-09-01
* License: CC0
* Description: Computes the pair of points at which two circles intersect.
* Returns false in case of no intersection.
* Status: stress-tested
*/#pragma once
#include"src/geometry/Point.h"typedefPoint<double>P;boolcircleInter(Pa,Pb,doubler1,doubler2,pair<P,P>*out){if(a==b){assert(r1!=r2);returnfalse;}Pvec=b-a;doubled2=vec.dist2(),sum=r1+r2,dif=r1-r2,p=(d2+r1*r1-r2*r2)/(d2*2),h2=r1*r1-p*p*d2;if(sum*sum<d2||dif*dif>d2)returnfalse;Pmid=a+vec*p,per=vec.perp()*sqrt(fmax(0,h2)/d2);*out={mid+per,mid-per};returntrue;}
Traceback(mostrecentcalllast):File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/documentation/build.py",line71,in_render_source_code_statbundled_code=language.bundle(stat.path,basedir=basedir,options={'include_paths':[basedir]}).decode()~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus.py",line187,inbundlebundler.update(path)~~~~~~~~~~~~~~^^^^^^File"/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py",line312,inupdateraiseBundleErrorAt(path,i+1,"#pragma once found in a non-first line")onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt:src/geometry/CircleIntersection.h:line9:#pragmaoncefoundinanon-firstline