Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Basic info
- Problem :
- Date :
- Author : Shesher
- */
- #include<bits/stdc++.h>
- using namespace std;
- ///Template
- #define in1() freopen("C:\\Users\\SHESHER\\Rest\\Desktop\\MY COMPUTER\\Code\\Template\\input.txt", "r", stdin);
- #define out1() freopen("C:\\Users\\SHESHER\\Rest\\Desktop\\MY COMPUTER\\Code\\Template\\output.txt", "w", stdout);
- //Data types
- #define lo long
- #define ll long long
- #define llu unsigned long long
- //loop
- #define f1(i,x,y) for(int i=x;i<=y;i++)
- //Constants
- #define MAX 10000007
- #define MOD 10000007
- #define PI acos(-1.0)
- //STL
- #define vout(v) for(int i=0;i<v.size();i++){cout<<v[i]; if(i==v.size()-1) cout<<endl; else cout<<" ";}
- //Scan
- #define sc(x) scanf("%d", &x)
- double a, n, co;
- double cs(double r)
- {
- double ang=((r*r)+(r*r)-(a*a))/(2*r*r);
- ang=acos(ang);
- // ang=(ang*180)/PI;
- return ang*r;
- }
- int main()
- {
- // in1();
- // out1();
- int t;
- sc(t);
- f1(ti,1,t){
- cin>>a>>n>>co;
- if(n==0){
- printf("Case %d: 0\n", ti);
- continue;
- }
- double s=(1+(n*co))*a;
- // cout<<s<<endl;
- double l=0.0, r=111111.0, mid;
- //while(l<r){
- for(int i=0;i<100;i++){
- mid=(l+r)/2.0;
- double rv=cs(mid);
- // cout<<"MID "<<mid<<" "<<rv<<endl;
- if(rv>s){
- l=mid;
- }
- else{
- r=mid;
- }
- }
- double temp=a/2.0;
- double small=sqrt((mid*mid)-(temp*temp));
- printf("Case %d: %0.10lf\n", ti, mid-small);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement