#include <iostream>
#include <set>
int main()
{
std::string bity;
int bitow;
int zer = 0;
int jedynek = 0;
int zer_tu;
char litery[] = "--omia--";
//char litery[] = "0123456789";
std::cin >> bitow >> bity;
for (int i = 0; i < 8*bitow; ++i) {
if (bity[i] == '0') {
++zer;
} else {
++jedynek;
}
}
if ((2*jedynek > 6*zer) || (5*jedynek < 3*zer)) {
std::cout << "NIE" << std::endl;
// std::cerr << zer << ' ' << jedynek << std::endl;
return 0;
}
while (zer) {
zer_tu = 8 * zer/(zer + jedynek);
// std::cerr << zer << ' ' << jedynek << ' ' << zer_tu << std::endl;
std::cout << litery[zer_tu];
zer -= zer_tu;
jedynek -= (8 - zer_tu);
}
std::cout << std::endl;
return 0;
}
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 | #include <iostream> #include <set> int main() { std::string bity; int bitow; int zer = 0; int jedynek = 0; int zer_tu; char litery[] = "--omia--"; //char litery[] = "0123456789"; std::cin >> bitow >> bity; for (int i = 0; i < 8*bitow; ++i) { if (bity[i] == '0') { ++zer; } else { ++jedynek; } } if ((2*jedynek > 6*zer) || (5*jedynek < 3*zer)) { std::cout << "NIE" << std::endl; // std::cerr << zer << ' ' << jedynek << std::endl; return 0; } while (zer) { zer_tu = 8 * zer/(zer + jedynek); // std::cerr << zer << ' ' << jedynek << ' ' << zer_tu << std::endl; std::cout << litery[zer_tu]; zer -= zer_tu; jedynek -= (8 - zer_tu); } std::cout << std::endl; return 0; } |
English