#include <bits/stdc++.h>
using namespace std;
int tab[2];
vector<int> lit;
int main()
{
int n;
scanf("%d", &n);
int b=getchar();
for(int i=0; i<8*n; ++i){
b=getchar();
if(b==48) ++tab[0];
if(b==49) ++tab[1];
}
tab[0]-=n;
tab[1]-=2*n;
if(tab[1]<n||tab[0]<n){
printf("NIE");
return 0;
}
if(tab[1]%4>0){
lit.push_back(tab[1]%4);
tab[1]-=tab[1]%4;
}
while(tab[1]>0){
lit.push_back(4);
tab[1]-=4;
}
int d=lit.size();
if(d<n){
for(int i=0; i<d; ++i){
while(lit[i]>1){
lit.push_back(1);
--lit[i];
if(lit.size()==n) break;
}
if(lit.size()==n) break;
}
}
if(lit.size()<n){
printf("NIE");
return 0;
}
for(int i=0; i<lit.size(); ++i){
if(lit[i]==1) printf("a");
if(lit[i]==2) printf("c");
if(lit[i]==3) printf("g");
if(lit[i]==4) printf("o");
}
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 | #include <bits/stdc++.h> using namespace std; int tab[2]; vector<int> lit; int main() { int n; scanf("%d", &n); int b=getchar(); for(int i=0; i<8*n; ++i){ b=getchar(); if(b==48) ++tab[0]; if(b==49) ++tab[1]; } tab[0]-=n; tab[1]-=2*n; if(tab[1]<n||tab[0]<n){ printf("NIE"); return 0; } if(tab[1]%4>0){ lit.push_back(tab[1]%4); tab[1]-=tab[1]%4; } while(tab[1]>0){ lit.push_back(4); tab[1]-=4; } int d=lit.size(); if(d<n){ for(int i=0; i<d; ++i){ while(lit[i]>1){ lit.push_back(1); --lit[i]; if(lit.size()==n) break; } if(lit.size()==n) break; } } if(lit.size()<n){ printf("NIE"); return 0; } for(int i=0; i<lit.size(); ++i){ if(lit[i]==1) printf("a"); if(lit[i]==2) printf("c"); if(lit[i]==3) printf("g"); if(lit[i]==4) printf("o"); } return 0; } |
English