abinash_hstu

UVA 12970

Oct 24th, 2015
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.96 KB | None | 0 0
  1. /**************************************************
  2.     _||||||_     ||||||||_     |||    |||    _|
  3.    _||    ||_    |||    ||     |||    |||   |||
  4.    |||    |||    |||    ||     |||    |||   |||
  5.    |||    |||    |||___|||     |||____|||   |||
  6.    ||||||||||    ||||||||_     ||||||||||   |||
  7.    |||    |||    |||    ||     |||    |||   |||
  8.    |||    |||    |||    ||     |||    |||   |||
  9.   _|||    |||_  _|||||||||    _|||    |||_  |-
  10. ***************************************************/
  11. #include <cstdio>
  12. #include <cstdlib>
  13. #include <cctype>
  14. #include <cmath>
  15. #include <cstring>
  16. #include <iostream>
  17. #include <iomanip>
  18. #include <vector>
  19. #include <list>
  20. #include <stack>
  21. #include <queue>
  22. #include <map>
  23. #include <set>
  24. #include <string>
  25. #include <utility>
  26. #include <sstream>
  27. #include <algorithm>
  28. #include <ctime>
  29. #include <cassert>
  30. #include <limits>
  31. using  namespace  std;
  32.  
  33. #define PI acos(-1.0)
  34. #define mem(a,b) memset(a,b,sizeof(a))
  35. #define gcd(a,b) __gcd(a,b)
  36. #define pb push_back
  37. #define mp make_pair
  38. #define x first
  39. #define y second
  40. #define Sort(x) sort(x.begin(),x.end())
  41. #define FOR(i, b, e) for(int i = b; i <= e; i++)
  42. #define FORR(i, b, e) for(int i = b; i >= e; i--)
  43. #define FORI(i, s) for (__typeof ((s).end ()) i = (s).begin (); i != (s).end (); ++i)
  44. #define pr(x) cout<<x<<"\n"
  45. #define pr2(x,y) cout<<x<<" "<<y<<"\n"
  46. #define pr3(x,y,z) cout<<x<<" "<<y<<" "<<z<<"\n";
  47. #define ppr(a) cout<<a.x<<" "<<a.y<<"\n"
  48. #define READ(f) freopen(f, "r", stdin)
  49. #define WRITE(f) freopen(f, "w", stdout)
  50.  
  51. typedef  long long ll;
  52. typedef  pair <int, int> pii;
  53. typedef  pair <double , double> pdd;
  54. typedef  pair <ll , ll > pll;
  55. typedef  vector <int> vi;
  56. typedef  vector <pii> vpii;
  57. typedef  vector <ll > vl;
  58.  
  59. //int dx[]={1,0,-1,0};int dy[]={0,1,0,-1}; //4 Direction
  60. //int dx[]={1,1,0,-1,-1,-1,0,1};
  61. //int dy[]={0,1,1,1,0,-1,-1,-1};//8 direction
  62. //int dx[]={2,1,-1,-2,-2,-1,1,2};
  63. //int dy[]={1,2,2,1,-1,-2,-2,-1};//Knight Direction
  64.  
  65. #define MAX 50007
  66. #define EPS 1e-9
  67. ll gcdll(ll a, ll b){
  68.   if(b == 0) return a;
  69.   return gcdll(b, a%b);
  70. }
  71. int main()
  72. {
  73.     //READ("in.in");
  74.     //WRITE("out.out");
  75.     ll v1,v2,d1,d2;
  76.     int cs=1;
  77.     while(1)
  78.     {
  79.  
  80.         scanf("%lld",&v1);
  81.         scanf("%lld",&d1);
  82.         scanf("%lld",&v2);
  83.         scanf("%lld",&d2);
  84.         if(v1==0&&d1==0&&v2==0&&d2==0)break;
  85.         if(d1*v2<=d2*v1)
  86.         {
  87.             printf("Case #%d: You owe me a beer!\nAvg. arrival time: ",cs++);
  88.         }
  89.         else
  90.         {
  91.             printf("Case #%d: No beer for the captain.\nAvg. arrival time: ",cs++);
  92.         }
  93.         v1*=2;
  94.         v2*=2;
  95.         ll g=gcdll(d1,v1);
  96.         d1/=g;
  97.         v1/=g;
  98.         g=gcdll(d2,v2);
  99.         d2/=g;
  100.         v2/=g;
  101.         ll lcm=(v1/gcd(v1,v2))*v2;
  102.         ll lob=d1*(lcm/v1)+d2*(lcm/v2);
  103.         g=gcdll(lcm,lob);
  104.         lcm/=g;
  105.         lob/=g;
  106.         printf("%lld",lob);
  107.         if(lcm!=1)printf("/%lld",lcm);
  108.         printf("\n");
  109.     }
  110.     return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment