sabbir_alam

KingOfNothing

Sep 17th, 2014
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdio.h>
  3. #include<sstream>
  4. #include<string>
  5. #include<string.h>
  6. #include<math.h>
  7. #include<vector>
  8. #include<map>
  9. #include<algorithm>
  10. #include<queue>
  11. #include<set>
  12. #include<stdlib.h>
  13. #include<cmath>
  14. #include<stack>
  15.  
  16. using namespace std;
  17. #define mod 1000000007
  18. #define pi 2*acos(0)
  19. #define PI 3.141592653589793
  20. #define pb push_back
  21. #define fr(i,a,b) for(i=a;i<=b;i++)
  22. #define frn(i,a,b) for(i=a;i>=b;i--)
  23. unsigned long long fact[1005];
  24.  
  25. long long int A=1,B=1;
  26. void process()
  27. {
  28.     long long int i,mini,limit;
  29.     if(A<B)
  30.     {
  31.         mini=A;
  32.     }
  33.     else
  34.     {
  35.         mini=B;
  36.     }
  37.     if(mini==2)
  38.     {
  39.         limit=2;
  40.     }
  41.     else
  42.         limit=(sqrt(mini))+1;
  43.     fr(i,2,limit)
  44.     {
  45.         while(((A%i)==0)&&((B%i)==0))
  46.         {
  47.             A=A/i;
  48.             B=B/i;
  49.         }
  50.     }
  51.     //printf("%lld/%lld\n",A,B);
  52.     return ;
  53. }
  54.  
  55. int main()
  56. {
  57.     long long int tC,nC;
  58.     long long int t,x;
  59.     scanf("%lld",&tC);
  60.     fr(nC,1,tC)
  61.     {
  62.         A=1;
  63.         B=1;
  64.         long long int temp;
  65.         scanf("%lld %lld",&t,&x);
  66.         long long int arr[t+7],i;
  67.         fr(i,1,t)
  68.         {
  69.             scanf("%lld",&temp);
  70.             arr[i]=x-temp;
  71.             A=((A%mod)*(arr[i]%mod))%mod;
  72.             B=((B%mod)*(x)%mod)%mod;
  73.         }
  74.         process();
  75.         if(A==0)
  76.         {
  77.             printf("Case %lld: 0\n",nC);
  78.         }
  79.         else if(A==B)
  80.         {
  81.             printf("Case %lld: 1\n",nC);
  82.         }
  83.         else
  84.         printf("Case %lld: %lld/%lld\n",nC,A,B);
  85.     }
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment