#include <bits/stdc++.h>
using namespace std;
#ifdef D
#define DEBUG(x) \
do { \
x \
cout.flush(); \
} while (0)
#else
#define DEBUG(x)
#endif
//const int NMAX = 1e5 + 7;
int n;
string s, ans;
void solve() {
int jeden = 0, zero;
for (char c : s) {
jeden += c == '1';
}
zero = (int) s.size() - jeden;
if (zero * 6 < jeden * 2 || jeden * 5 < zero * 3 || abs(zero - jeden) % 2 == 1) {
ans = "NIE";
} else {
if (zero > jeden) {
while (zero - jeden >= 2) {
zero -= 5;
jeden -= 3;
ans += 'a';
}
} else {
while (jeden - zero >= 4) {
zero -= 2;
jeden -= 6;
ans += 'o';
}
while (jeden - zero >= 2) {
zero -= 3;
jeden -= 5;
ans += 'g';
}
}
for (int i = 0; i < zero / 4; ++i) {
ans += 'c';
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> s;
solve();
cout << ans;
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include <bits/stdc++.h> using namespace std; #ifdef D #define DEBUG(x) \ do { \ x \ cout.flush(); \ } while (0) #else #define DEBUG(x) #endif //const int NMAX = 1e5 + 7; int n; string s, ans; void solve() { int jeden = 0, zero; for (char c : s) { jeden += c == '1'; } zero = (int) s.size() - jeden; if (zero * 6 < jeden * 2 || jeden * 5 < zero * 3 || abs(zero - jeden) % 2 == 1) { ans = "NIE"; } else { if (zero > jeden) { while (zero - jeden >= 2) { zero -= 5; jeden -= 3; ans += 'a'; } } else { while (jeden - zero >= 4) { zero -= 2; jeden -= 6; ans += 'o'; } while (jeden - zero >= 2) { zero -= 3; jeden -= 5; ans += 'g'; } } for (int i = 0; i < zero / 4; ++i) { ans += 'c'; } } } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> s; solve(); cout << ans; return 0; } |
English