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