Advertisement
arfin97

UVa 10341: Solve It: WA

Oct 18th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.20 KB | None | 0 0
  1.     #include <bits/stdc++.h>
  2.     using namespace std;
  3.     #define d(x)                cout << #x << " = " << (x) << endl;
  4.     #define fr                  freopen("in.txt", "r", stdin);
  5.     #define fw                  freopen("out.txt", "w", stdout);
  6.     #define mem(x)              memset((x), 0, sizeof((x)));
  7.     #define pb                  push_back
  8.     #define LL                  long long
  9.     #define fastIO              ios_base::sync_with_stdio(false)
  10.     #define sf                  scanf
  11.     #define pf                  printf
  12.     #define SQR(x)              ((x)*(x))
  13.     #define sc1(x)              scanf("%d", &x)
  14.     #define scb(x, y)           scanf("%d %d", &x, &y)
  15.     #define sc3(x, y, z)        scanf("%d %d %d", &x, &y, &z)
  16.     #define FOR(i, x, y)        for(int i=int(x); i<int(y); i++)
  17.     #define ROF(i, x, y)        for(int i=int(x-1); i>=int(y); i--)
  18.     #define all(c)              (c.begin(), c.end())
  19.     #define unq(v)              sort(all(v)), (v).erase(unique(all(v)),v.end())
  20.     #define EPSILON    (1.0E-9)
  21.     #define siz 100000
  22.  
  23.     double p,q,r,s,t,u;
  24.     double func(double x){
  25.         double part1 = u;
  26.         double part2 = t*x*x;
  27.         double part3 = s*tan(x);
  28.         double part4 = r*cos(x);
  29.         double part5 = q*sin(x);
  30.         double part6 = p*exp(-x);
  31.         // return part1 + part2 + part3 + part4 + part5 + part6;
  32.         return p*exp(-x) + q*sin(x) + r*cos(x) + s*tan(x) + t*x*x + u;
  33.     }
  34.  
  35.  
  36.  
  37.     int main(){
  38.         #ifndef ONLINE_JUDGE
  39.             clock_t tStart = clock();  
  40.             freopen("in.txt", "r", stdin);
  41.             freopen("out.txt", "w", stdout);
  42.         #endif
  43.            
  44.             while(cin >> p >> q >> r >> s >> t >> u){
  45.  
  46.                 double a = 0.0;
  47.                 double b = 1.0;
  48.  
  49.                 double c = a;
  50.  
  51.                 if (func(a) * func(b) > EPSILON){
  52.                     cout << "No solution" << endl;
  53.                     continue;
  54.                 }
  55.  
  56.                 int it = 100;
  57.                 while(it--){
  58.                     c = (a+b)/2.0;
  59.  
  60.  
  61.                     if(func(c)*func(a) <= 0){
  62.                         b = c;
  63.                     }
  64.                     else if(func(c)*func(b) < 0){
  65.                         a = c;
  66.                     }
  67.                    
  68.                 }
  69.  
  70.                 printf("%0.4lf\n", c);
  71.             }
  72.  
  73.         #ifndef ONLINE_JUDGE
  74.             printf("\n>>Time taken: %.10fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC);
  75.         #endif
  76.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement