Guest User

Untitled

a guest
Jun 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <math.h>
  4. #include <stdio.h>
  5. using namespace std ;
  6. string str ;
  7. int arr[100] , arr2[100] , arr3[100] ; ;
  8. int main()
  9. {
  10. cin>> str ;
  11. int i , base = 1 , length , length2 , j , sum=0 , sum2=0 , pow , pow2,k=0,f=0,check=0;
  12. for ( i = 0 ; str[i] == '0' ; i ++ ) {}
  13. for ( j = 0 ; str[i] != ':' ; i ++ , j ++ )
  14. {
  15. if ( str[i] >= 'A' && str[i] <= 'Z' )
  16. arr[j] = ( str[i] - 'A' ) + 10 ;
  17. else
  18. arr[j] = str[i] - '0' ;
  19. check= check * 10 + arr[j] ;
  20. if ( arr[j] > base ) base = arr[j] + 1 ;
  21. }
  22. length = i ;
  23. i ++ ;
  24. for ( ; str[i] == '0' ; i ++ ) {}
  25. if ( check > 23 || check < 0 ) printf ("0") ;
  26. else
  27. {
  28. check = 0;
  29. for ( j = 0 ; i < str.size() ; i ++ , j ++ )
  30. {
  31. if ( str[i] >= 'A' && str[i] <= 'Z' )
  32. arr2[j] = ( str[i] - 'A' ) + 10 ;
  33. else if ( str[i] > '0' && str[i] <= '9' )
  34. arr2[j] = str[i] - '0' ;
  35. check= check * 10 + arr[j] ;
  36. if ( arr2[j] > base ) base = arr2[j] + 1 ;
  37. }
  38. length2 = str.size() - ( length+1 ) ;
  39. if ( check > 59 || check < 0 ) printf ("0") ;
  40. else
  41. {
  42. for ( i = base ; i <= 100 ; i ++ )
  43. {
  44. if ( i > 59 )
  45. {
  46. f = 1;
  47. break ;
  48. }
  49. pow = 1 , pow2 = 1;
  50. sum =pow*arr[length-1] , sum2 = pow2*arr2[length-1] ;
  51. for ( j = length-2 ; j >= 0 ; j -- )
  52. {
  53. sum += pow * i * arr[j] ;
  54. pow = pow * i ;
  55. }
  56. for ( j = length2-2 ; j > 0 ; j -- )
  57. {
  58. sum2 += pow2 * i * arr2[j] ;
  59. pow2 = pow2 * i ;
  60. }
  61. if ( sum <= 23 && sum >= 0 && sum2 >= 0 && sum2 <= 59 )
  62. arr3[k++] = i ;
  63. }
  64.  
  65. if ( f == 1 && arr3[58] != 0 ) printf ("-1") ;
  66. else if ( f == 1 && arr3[0] == 0 ) printf ("0") ;
  67. else
  68. {
  69. for ( i = 0 ; i < k ; i ++ ) printf ("%d ",arr3[i]) ;
  70. }
  71. }
  72. }
  73. return 0;
  74. }
Add Comment
Please, Sign In to add comment