标签:第二场 10001 k2 int ju sqrt 牛客 k1
#include<bits/stdc++.h> using namespace std; double x[10001],y[10001],z[10001],r1,r2,k1,k2,ju,R,ans; const double pi=acos(-1); int main() { int t; cin>>t; while(t--) { for(int i=0;i<4;i++) { cin>>x[i]>>y[i]>>z[i]; } cin>>k1>>k2; r1=sqrt((x[0]*x[0]-k1*k1*x[1]*x[1]+y[0]*y[0]-k1*k1*y[1]*y[1]+z[0]*z[0]-k1*k1*z[1]*z[1])/(k1*k1-1)+(k1*k1*x[1]-x[0])*(k1*k1*x[1]-x[0])/(k1*k1-1)/(k1*k1-1)+(k1*k1*y[1]-y[0])*(k1*k1*y[1]-y[0])/(k1*k1-1)/(k1*k1-1)+(k1*k1*z[1]-z[0])*(k1*k1*z[1]-z[0])/(k1*k1-1)/(k1*k1-1)); r2=sqrt((x[2]*x[2]-k2*k2*x[3]*x[3]+y[2]*y[2]-k2*k2*y[3]*y[3]+z[2]*z[2]-k2*k2*z[3]*z[3])/(k2*k2-1)+(k2*k2*x[3]-x[2])*(k2*k2*x[3]-x[2])/(k2*k2-1)/(k2*k2-1)+(k2*k2*y[3]-y[2])*(k2*k2*y[3]-y[2])/(k2*k2-1)/(k2*k2-1)+(k2*k2*z[3]-z[2])*(k2*k2*z[3]-z[2])/(k2*k2-1)/(k2*k2-1)); ju=((k1*k1*x[1]-x[0])/(k1*k1-1)-(k2*k2*x[3]-x[2])/(k2*k2-1))*((k1*k1*x[1]-x[0])/(k1*k1-1)-(k2*k2*x[3]-x[2])/(k2*k2-1))+((k1*k1*y[1]-y[0])/(k1*k1-1)-(k2*k2*y[3]-y[2])/(k2*k2-1))*((k1*k1*y[1]-y[0])/(k1*k1-1)-(k2*k2*y[3]-y[2])/(k2*k2-1))+((k1*k1*z[1]-z[0])/(k1*k1-1)-(k2*k2*z[3]-z[2])/(k2*k2-1))*((k1*k1*z[1]-z[0])/(k1*k1-1)-(k2*k2*z[3]-z[2])/(k2*k2-1)); ju=sqrt(ju); if(r1+r2<=ju) { cout<<0<<endl; } else if(min(r1,r2)+ju<=max(r1,r2)) { R=min(r1,r2); ans=4.00*pi*R*R*R/3.00; printf("%.3lf\n",ans); } else { double ca=(r2*r2+ju*ju-r1*r1)/(2*r2*ju); double h1=r2-r2*ca; double h2=(r1+r2-ju)-h1; double v1,v2; v1=pi*r2*h1*h1-pi*h1*h1*h1/3.00; v2=pi*r1*h2*h2-pi*h2*h2*h2/3.00; ans=v1+v2; printf("%.3lf\n",ans); } } return 0; }
标签:第二场,10001,k2,int,ju,sqrt,牛客,k1 来源: https://www.cnblogs.com/EVANGELION-01/p/15042006.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。