Paste Search Dynamic
Recent pastes
testCases
  1. #include <iostream>
  2. #include <array>
  3. #include <vector>
  4.  
  5. const std::array<int, 5> primes = {127, 131, 137, 139, 149};
  6.  
  7. void decipher(const std::vector<unsigned int> &test_vec);
  8.  
  9. int main()
  10. {
  11.     unsigned int testCases{0};
  12.     std::cin >> testCases;
  13.  
  14.     int words{0};
  15.     std::vector<unsigned int> words_vec;
  16.     unsigned int word{0};
  17.     while (testCases--)
  18.     {
  19.         std::cin >> words;
  20.         while (words--)
  21.         {
  22.             std::cin >> word;
  23.             words_vec.push_back(word);
  24.         }
  25.         decipher(words_vec);
  26.         words_vec.clear();
  27.     }
  28.     return 0;
  29. }
  30.  
  31. void decipher(const std::vector<unsigned int> &test_vec)
  32. {
  33.     int prime{0};
  34.     int rest{0};
  35.     char test_char;
  36.     int finded{0};
  37.     std::string sentence{""};
  38.     bool fail_check{false};
  39.     std::string answer;
  40.     int answ_prime;
  41.     for (auto it_pr = primes.begin(); it_pr != primes.end(); it_pr++)
  42.     {
  43.         fail_check = false;
  44.         prime = *it_pr;
  45.         for (auto it_vec = test_vec.begin(); it_vec != test_vec.end(); it_vec++)
  46.         {
  47.             rest = *it_vec % prime;
  48.             test_char = static_cast<char>(rest);
  49.             if (test_char >= 'A' && test_char <= 'Z')
  50.                 sentence += test_char;
  51.             else
  52.             {
  53.                 fail_check = true;
  54.                 break;
  55.             }
  56.         }
  57.         if (!fail_check)
  58.         {
  59.             answer = sentence;
  60.             answ_prime = prime;
  61.             ++finded;
  62.         }
  63.  
  64.         sentence.clear();
  65.     }
  66.  
  67.     if (finded != 1)
  68.         std::cout << "NIECZYTELNE" << std::endl;
  69.     else
  70.         std::cout << answ_prime<< " " << answer << std::endl;
  71. }
Parsed in 0.014 seconds