#include <iostream> int main() { std::ios_base::sync_with_stdio(0); size_t n; size_t liczba_jedynek = 0; std::cin >> n; char c; size_t k = 8 * n; for (size_t idx = 0; idx < k; ++idx) { std::cin >> c; if (c == '1') { ++liczba_jedynek; } } if (liczba_jedynek < k * 3. / 8 || liczba_jedynek > k * 6. / 8) { std::cout << "NIE" << std::endl; return 0; } // char c_malo_jedynek = 'a'; // 3 // char c_srednio_malo_jedynek = 'c'; // 4 // char c_srednio_duzo_jedynek = 'g'; // 5 // char c_duzo_jedynek = 'w'; // 6 // double liczba_jedynek_na_slowo = liczba_jedynek * 1. / n; size_t jedynek_w_wyniku = 0; // std::cerr << "liczba jedynek: " << liczba_jedynek << " n:" << n << std::endl; // std::cerr << "liczba 1 na slowo: " << liczba_jedynek_na_slowo << std::endl; if (liczba_jedynek == n * 3) { for (size_t i = 0; i < n; ++i) { std::cout << 'a'; } } else if (liczba_jedynek <= n * 4) { // std::cerr << "B" << std::endl; std::cout << 'c'; jedynek_w_wyniku = 4; // używaj a i c for (size_t i = 1; i < n; ++i) { if (liczba_jedynek * i < n * jedynek_w_wyniku) { std::cout << 'a'; jedynek_w_wyniku += 3; } else { std::cout << 'c'; jedynek_w_wyniku += 4; } } } else if (liczba_jedynek <= n * 5) { // std::cerr << "C" << std::endl; // używaj c i g std::cout << 'g'; jedynek_w_wyniku = 5; for (size_t i = 1; i < n; ++i) { if (liczba_jedynek * i < n * jedynek_w_wyniku) { std::cout << 'c'; jedynek_w_wyniku += 4; } else { std::cout << 'g'; jedynek_w_wyniku += 5; } } } else { // std::cerr << "D" << std::endl; // używaj w i g std::cout << 'w'; jedynek_w_wyniku = 6; for (size_t i = 1; i < n; ++i) { if (liczba_jedynek * i < jedynek_w_wyniku * n) { std::cout << 'g'; jedynek_w_wyniku += 5; } else { std::cout << 'w'; jedynek_w_wyniku += 6; } } } std::cout << std::endl; // std::cerr << "1 w wyniku: " << jedynek_w_wyniku << std::endl; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | #include <iostream> int main() { std::ios_base::sync_with_stdio(0); size_t n; size_t liczba_jedynek = 0; std::cin >> n; char c; size_t k = 8 * n; for (size_t idx = 0; idx < k; ++idx) { std::cin >> c; if (c == '1') { ++liczba_jedynek; } } if (liczba_jedynek < k * 3. / 8 || liczba_jedynek > k * 6. / 8) { std::cout << "NIE" << std::endl; return 0; } // char c_malo_jedynek = 'a'; // 3 // char c_srednio_malo_jedynek = 'c'; // 4 // char c_srednio_duzo_jedynek = 'g'; // 5 // char c_duzo_jedynek = 'w'; // 6 // double liczba_jedynek_na_slowo = liczba_jedynek * 1. / n; size_t jedynek_w_wyniku = 0; // std::cerr << "liczba jedynek: " << liczba_jedynek << " n:" << n << std::endl; // std::cerr << "liczba 1 na slowo: " << liczba_jedynek_na_slowo << std::endl; if (liczba_jedynek == n * 3) { for (size_t i = 0; i < n; ++i) { std::cout << 'a'; } } else if (liczba_jedynek <= n * 4) { // std::cerr << "B" << std::endl; std::cout << 'c'; jedynek_w_wyniku = 4; // używaj a i c for (size_t i = 1; i < n; ++i) { if (liczba_jedynek * i < n * jedynek_w_wyniku) { std::cout << 'a'; jedynek_w_wyniku += 3; } else { std::cout << 'c'; jedynek_w_wyniku += 4; } } } else if (liczba_jedynek <= n * 5) { // std::cerr << "C" << std::endl; // używaj c i g std::cout << 'g'; jedynek_w_wyniku = 5; for (size_t i = 1; i < n; ++i) { if (liczba_jedynek * i < n * jedynek_w_wyniku) { std::cout << 'c'; jedynek_w_wyniku += 4; } else { std::cout << 'g'; jedynek_w_wyniku += 5; } } } else { // std::cerr << "D" << std::endl; // używaj w i g std::cout << 'w'; jedynek_w_wyniku = 6; for (size_t i = 1; i < n; ++i) { if (liczba_jedynek * i < jedynek_w_wyniku * n) { std::cout << 'g'; jedynek_w_wyniku += 5; } else { std::cout << 'w'; jedynek_w_wyniku += 6; } } } std::cout << std::endl; // std::cerr << "1 w wyniku: " << jedynek_w_wyniku << std::endl; } |