Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <algorithm>
  5. #include <unordered_map>
  6. #include <map>
  7. #include <set>
  8. #include <iomanip>
  9.  
  10. int main() {
  11.     std::string s;
  12.     std::cin >> s;
  13.     int k;
  14.     std::cin >> k;
  15.     int cnt = s.size();
  16.     long double kek = 0, kek_last = 1;
  17.     for (size_t i = 0; i < k; i++) {
  18.         kek = kek * (cnt - 2) / cnt + (1 - kek) * 2 / (cnt * (cnt - 1));
  19.         kek_last = kek_last * (cnt - 2) / cnt + (1 - kek_last) * 2 / (cnt * (cnt - 1));
  20.     }
  21.     int sum = 0;
  22.     for (char c : s) {
  23.         sum += c - '0';
  24.     }
  25.     long double res = 0;
  26.     for (size_t i = 0; i < s.size() - 1; i++) {
  27.         if (s[i] == '5' || ((s[i] - '0') % 2 == 0 && sum % 3 == 0)) {
  28.             res += kek;
  29.         }
  30.     }
  31.     if (s.back() == '5' || ((s.back() - '0') % 2 == 0 && sum % 3 == 0)) {
  32.         res += kek_last;
  33.     }
  34.     std::cout << std::fixed << std::setprecision(10);
  35.     std::cout << res;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement