#include <cstdio>
using namespace std;
#define MAX_N 100010
int N;
char S[8 * MAX_N];
int c1, ca, co;
int main() {
scanf("%d", &N);
scanf("%s", S);
for (int i = 0; i < 8 * N; ++i) {
if (S[i] == '1') {
c1++;
}
}
if (c1 < 3 * N || c1 > 6 * N) {
printf("NIE\n");
return 0;
}
co = (c1 - 3 * N) / 3;
ca = (c1 - 6 * co) / 3 - 1;
c1 = c1 - 6 * co - 3 * ca;
for (int i = 0; i < ca; ++i) {
S[i] = 'a';
}
switch (c1) {
case 3:
S[ca] = 'a';
break;
case 4:
S[ca] = 'c';
break;
case 5:
S[ca] = 'g';
break;
}
for (int i = 0; i < co; ++i) {
S[ca + 1 + i] = 'o';
}
S[ca + 1 + co] = 0;
printf("%s\n", S);
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 | #include <cstdio> using namespace std; #define MAX_N 100010 int N; char S[8 * MAX_N]; int c1, ca, co; int main() { scanf("%d", &N); scanf("%s", S); for (int i = 0; i < 8 * N; ++i) { if (S[i] == '1') { c1++; } } if (c1 < 3 * N || c1 > 6 * N) { printf("NIE\n"); return 0; } co = (c1 - 3 * N) / 3; ca = (c1 - 6 * co) / 3 - 1; c1 = c1 - 6 * co - 3 * ca; for (int i = 0; i < ca; ++i) { S[i] = 'a'; } switch (c1) { case 3: S[ca] = 'a'; break; case 4: S[ca] = 'c'; break; case 5: S[ca] = 'g'; break; } for (int i = 0; i < co; ++i) { S[ca + 1 + i] = 'o'; } S[ca + 1 + co] = 0; printf("%s\n", S); return 0; } |
English