#include <iostream>
#include <string>
// #define DEBUG_M
#ifdef DEBUG_M
#define DEBUGF(...) printf(stderr, __VA_ARGS__)
#define DEBUG(expr) expr
#else
#define DEBUGF(...)
#define DEBUG(expr)
#endif
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
string str;
cin >> str;
int count1 = 0;
for (size_t i = 0; i < str.size(); i++) {
count1 += str[i] - '0';
}
// int count0 = n*8 - count1;
if (count1 < 3*n || count1 > 6*n) {
puts("NIE");
return 0;
}
count1 -= n*3;
string out(n, 'a');
for (int i = 0, add = 2; i < count1;) {
for (int j = 0; i < count1 && j < n; j++) {
out[j] += add;
i++;
}
add <<= 1;
}
puts(out.c_str());
}
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 | #include <iostream> #include <string> // #define DEBUG_M #ifdef DEBUG_M #define DEBUGF(...) printf(stderr, __VA_ARGS__) #define DEBUG(expr) expr #else #define DEBUGF(...) #define DEBUG(expr) #endif using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; string str; cin >> str; int count1 = 0; for (size_t i = 0; i < str.size(); i++) { count1 += str[i] - '0'; } // int count0 = n*8 - count1; if (count1 < 3*n || count1 > 6*n) { puts("NIE"); return 0; } count1 -= n*3; string out(n, 'a'); for (int i = 0, add = 2; i < count1;) { for (int j = 0; i < count1 && j < n; j++) { out[j] += add; i++; } add <<= 1; } puts(out.c_str()); } |
English