Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- #include<cstring>
- #include<sstream>
- #include<cctype>
- #include<string.h>
- #include<algorithm>
- #include<cmath>
- #include<stack>
- #include<fstream>
- #include<cstdlib>
- #include<vector>
- #include<map>
- #include<utility>
- #include<iomanip>
- #include<queue>
- #define eps 1e-9
- #define max(a,b) ((a>b)?a:b)
- #define min(a,b) ((a<b)?a:b)
- #define pb(a) push_back(a)
- #define mp(a,b) make_pair(a,b)
- #define pi acos(-1.0)
- using namespace std;
- int main()
- {
- int t,kk=1;
- double l,lp,n,c,low,high,mid,ans,r,x;
- cin>>t;
- while(t--)
- {
- cin>>l>>n>>c;
- lp=( (1.0+(n*c)) *l);
- if(fabs(lp-l)<eps) {
- printf("Case %d: 0\n",kk++);
- continue;
- }
- //cout<<l<<" "<<lp<<endl;
- //cout<<pi<<endl;
- low=eps;
- high=pi;
- ans=0.0;
- for(int i=0;i<=100;i++)
- {
- mid=((low+high)/2.0);
- r=(lp/mid);
- ans=sqrt((2.0*r*r)-(2.0*r*r*cos(mid)));
- if(fabs(l-ans)<eps) break;
- if(l+eps<ans) low=mid;
- /*if(l==ans) break;
- if(l<ans) low=mid;*/
- else high=mid;
- }
- //cout<<r<<endl;
- x=r-sqrt( (r*r) - ((l*l)/4.0) );
- printf("Case %d: %.9lf\n",kk++,x+eps);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment