#include <iostream>
using namespace std;
int main()
{
/*for (int i = 1; i <= 26; i++)
{
int pos = 0;
int neg = 0;
for (int j = 0; j < 8; j++)
{
if ((i + 96) & (1 << j))
pos++;
else neg++;
}
cout << pos << ' ' << neg << '\n';
}*/
int n;
cin >> n;
string bits;
cin >> bits;
int pos = 0;
int neg = 0;
for (auto it : bits)
{
if (it == '1')
pos++;
else
neg++;
}
//cout << pos << ' ' << neg << '\n';
int startPos = 3 * n;
int startNeg = 5 * n;
int changesA = pos - startPos;
int changesB = startNeg - neg;
if (changesA != changesB || changesA < 0 || changesA > n * 3)
{
cout << "NIE\n";
return 0;
}
int changes = changesA;
for (int i = 0; i < n; i++)
{
if (changes >= 3)
{
cout << 'w';
changes -= 3;
}
else if (changes >= 2)
{
cout << 'g';
changes -= 2;
}
else if (changes >= 1)
{
cout << 'c';
changes--;
}
else
{
cout << 'a';
}
}
//3 5 - a, 4 4 - c, 5 3 - g, 6 2 - w
}
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 | #include <iostream> using namespace std; int main() { /*for (int i = 1; i <= 26; i++) { int pos = 0; int neg = 0; for (int j = 0; j < 8; j++) { if ((i + 96) & (1 << j)) pos++; else neg++; } cout << pos << ' ' << neg << '\n'; }*/ int n; cin >> n; string bits; cin >> bits; int pos = 0; int neg = 0; for (auto it : bits) { if (it == '1') pos++; else neg++; } //cout << pos << ' ' << neg << '\n'; int startPos = 3 * n; int startNeg = 5 * n; int changesA = pos - startPos; int changesB = startNeg - neg; if (changesA != changesB || changesA < 0 || changesA > n * 3) { cout << "NIE\n"; return 0; } int changes = changesA; for (int i = 0; i < n; i++) { if (changes >= 3) { cout << 'w'; changes -= 3; } else if (changes >= 2) { cout << 'g'; changes -= 2; } else if (changes >= 1) { cout << 'c'; changes--; } else { cout << 'a'; } } //3 5 - a, 4 4 - c, 5 3 - g, 6 2 - w } |
English