#include <bits/stdc++.h> using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(0); int numberOfWords; cin >> numberOfWords; string s; cin >> s; int oneCounter = 0; for (int i = 0; i < 8 * numberOfWords; i++) { if (s[i] == '1') { oneCounter++; } } if (oneCounter < numberOfWords * 3 || oneCounter > numberOfWords * 6) { cout << "NIE" << endl; return 0; } vector<int> counters(4); counters[0] = numberOfWords; oneCounter -= numberOfWords * 3; while (oneCounter) { while (oneCounter > 2) { counters[0]--; counters[3]++; oneCounter -= 3; } if (oneCounter > 1) { counters[0]--; counters[2]++; oneCounter -= 2; } if (oneCounter > 0) { counters[0]--; counters[1]++; oneCounter -= 1; } } char toPrint[4] = {'a', 'c', 'g', 'o'}; for (int i = 0; i < 4; i++) { while (counters[i]--) { cout << toPrint[i]; } } cout << 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 | #include <bits/stdc++.h> using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(0); int numberOfWords; cin >> numberOfWords; string s; cin >> s; int oneCounter = 0; for (int i = 0; i < 8 * numberOfWords; i++) { if (s[i] == '1') { oneCounter++; } } if (oneCounter < numberOfWords * 3 || oneCounter > numberOfWords * 6) { cout << "NIE" << endl; return 0; } vector<int> counters(4); counters[0] = numberOfWords; oneCounter -= numberOfWords * 3; while (oneCounter) { while (oneCounter > 2) { counters[0]--; counters[3]++; oneCounter -= 3; } if (oneCounter > 1) { counters[0]--; counters[2]++; oneCounter -= 2; } if (oneCounter > 0) { counters[0]--; counters[1]++; oneCounter -= 1; } } char toPrint[4] = {'a', 'c', 'g', 'o'}; for (int i = 0; i < 4; i++) { while (counters[i]--) { cout << toPrint[i]; } } cout << endl; } |