#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; } |