Advertisement
webeseit

Untitled

Mar 20th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. #define ll long long
  5.  
  6. ll get(ll a) {
  7. if (a >= 0 && a <= 3) {
  8. return 1;
  9. } else if (a >= 4 && a <= 5) {
  10. return 2;
  11. } else if (a == 6) {
  12. return 3;
  13. } else if (a >= 7 && a <= 8) {
  14. return 4;
  15. } else if (a == 9) {
  16. return 5;
  17. }
  18. }
  19.  
  20. int main() {
  21. ll n, m;
  22. cin >> m;
  23. for (int i = 0; i < m; ++i) {
  24. cin >> n;
  25. ll t = n;
  26. ll last = n;
  27. ll k = 0;
  28. while (t) {
  29. if (t/10==0) {
  30. last = t;
  31. }
  32. t /= 10;
  33. ++k;
  34. }
  35. ll ans = 5;
  36. ll tmp = 5;
  37. for (ll i = 2; i < k; ++i) {
  38. ans += 4*tmp;
  39. tmp *= 5;
  40. }
  41.  
  42. if (k == 1) {
  43. if (n >= 0 && n <= 3) {
  44. ans = 1;
  45. } else if (n >= 4 && ans <= 5) {
  46. ans = 2;
  47. } else if (n == 6) {
  48. ans = 3;
  49. } else if (n >= 7 && n <= 8) {
  50. ans = 4;
  51. } else if (n == 9) {
  52. ans = 5;
  53. }
  54. } else {
  55. if (last >= 5 && last <= 6) {
  56. ans += tmp;
  57. } else if (last == 7) {
  58. ans += 2*tmp;
  59. } else if (last >= 8 && last <= 9) {
  60. ans += 3*tmp;
  61. }
  62.  
  63. if (last == 4 || last == 6 || last == 7 || last == 9) {
  64. tmp = 1;
  65. while (true) {
  66. if (n / 10 == 0) {
  67. break;
  68. }
  69. tmp *= get(n%10);
  70. n /= 10;
  71. }
  72. ans += tmp;
  73. }
  74. }
  75. cout << ans << '\n';
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement