Advertisement
Farjana_akter

Untitled

Jul 20th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. double ax,ay,az,bx,by,bz,px,py,pz;
  4.  
  5. double dis(double mid)
  6. {
  7. double x1=ax+(bx-ax)*mid;
  8. double y1=ay+(by-ay)*mid;
  9. double z1=az+(bz-az)*mid;
  10.  
  11. double d=sqrt(((px-x1)*(px-x1))+((py-y1)*(py-y1))+((pz-z1)*(pz-z1)));
  12. return d;
  13. }
  14.  
  15. int main()
  16. {
  17. freopen("in.txt","r",stdin);
  18. freopen("out.txt","w",stdout);
  19. int t,i,j;
  20. double hi,lo,mid1,mid2;
  21. cin>>t;
  22. for(i=1;i<=t;i++)
  23. {
  24. cin>>ax>>ay>>az>>bx>>by>>bz>>px>>py>>pz;
  25. hi=1.0,lo=0.0;
  26. for(j=1;j<=1000;j++)
  27. {
  28. mid1=(lo*2.0+hi)/3.0;
  29. mid2=(lo+hi*2.0)/3.0;
  30. if(dis(mid1)>dis(mid2))
  31. lo=mid1;
  32. else
  33. hi=mid2;
  34. }
  35. double ans= dis((lo+hi)/2.0);
  36. printf("Case %d: %.17lf\n",i,ans);
  37. }
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement