#include <bits/stdc++.h> #pragma GCC optimize(0fast) #define BOOST ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define st first #define nd second #define pb push_back #define INF 1000000000 #define mil 1000000 #define modulo 1000000007 using namespace std; typedef long long ll; using namespace std; string f(int y, int n, int x){ string res; if(y == 6){ for(int i=0; i<n; i++){ res += 'w'; } } if(y == 5){ int k = x - (n * 5); for(int i=0; i<k; i++){//tyle szostek wkladamy res+= 'w'; } for(int i=0; i<n-k; i++){//tyle piatek res += 'g'; } } if(y == 4){ int k = x - (n * 4); int l = k%2; k/=2; for(int i=0; i<l; i++){ res += 'g'; } for(int i=0; i<k; i++){ res += 'w'; } int s = n - k - l; for(int i=0; i<s; i++){ res += 'q'; } } if(y == 3){ int k = x - (n * 3); int l = k%3; k/=3; if(l == 1){ res += 'q';//4 for(int i=0; i<k; i++){ res += 'w';//6 } for(int i=0; i<n-k-1; i++){ res += 'a'; } } if(l == 2){ res += 'g';//5 for(int i=0; i<k; i++){ res += 'w';//6 } for(int i=0; i<n-k-1; i++){ res += 'a'; } } if(l == 0){ for(int i=0; i<k; i++){//6 res += 'w'; } for(int i=0; i<n-k; i++){//3 res += 'a'; } } } return res; } int main(){ BOOST; int n; cin >> n; string a,res; cin >> a; int x = 0; for(int i=0; i<a.size(); i++){ if(a[i] - '0' == 1) x++; } if(x < 3 * n or x > 6 * n){ cout << "NIE\n"; return 0; } int y = x/n; // cout << n << " " << y << " " << x << "\n"; string b = f(y,n,x); // int res1 = 0; // for(int i=0; i<b.size(); i++){ // if(b[i] == 'a') // res1 += 3; // if(b[i] == 'q') // res1 += 4; // if(b[i] == 'g') // res1 += 5; // if(b[i] == 'w') // res1 += 6; // } cout << b << "\n"; }
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | #include <bits/stdc++.h> #pragma GCC optimize(0fast) #define BOOST ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define st first #define nd second #define pb push_back #define INF 1000000000 #define mil 1000000 #define modulo 1000000007 using namespace std; typedef long long ll; using namespace std; string f(int y, int n, int x){ string res; if(y == 6){ for(int i=0; i<n; i++){ res += 'w'; } } if(y == 5){ int k = x - (n * 5); for(int i=0; i<k; i++){//tyle szostek wkladamy res+= 'w'; } for(int i=0; i<n-k; i++){//tyle piatek res += 'g'; } } if(y == 4){ int k = x - (n * 4); int l = k%2; k/=2; for(int i=0; i<l; i++){ res += 'g'; } for(int i=0; i<k; i++){ res += 'w'; } int s = n - k - l; for(int i=0; i<s; i++){ res += 'q'; } } if(y == 3){ int k = x - (n * 3); int l = k%3; k/=3; if(l == 1){ res += 'q';//4 for(int i=0; i<k; i++){ res += 'w';//6 } for(int i=0; i<n-k-1; i++){ res += 'a'; } } if(l == 2){ res += 'g';//5 for(int i=0; i<k; i++){ res += 'w';//6 } for(int i=0; i<n-k-1; i++){ res += 'a'; } } if(l == 0){ for(int i=0; i<k; i++){//6 res += 'w'; } for(int i=0; i<n-k; i++){//3 res += 'a'; } } } return res; } int main(){ BOOST; int n; cin >> n; string a,res; cin >> a; int x = 0; for(int i=0; i<a.size(); i++){ if(a[i] - '0' == 1) x++; } if(x < 3 * n or x > 6 * n){ cout << "NIE\n"; return 0; } int y = x/n; // cout << n << " " << y << " " << x << "\n"; string b = f(y,n,x); // int res1 = 0; // for(int i=0; i<b.size(); i++){ // if(b[i] == 'a') // res1 += 3; // if(b[i] == 'q') // res1 += 4; // if(b[i] == 'g') // res1 += 5; // if(b[i] == 'w') // res1 += 6; // } cout << b << "\n"; } |