#include <bits/stdc++.h>
using namespace std;
void test_case() {
int n, k;
cin >> n >> k;
if (n <= 8) {
for (int m = 0; m < (1 << n); m++) {
string s(n, '.');
for (int i = 0; i < n; i++) {
s[i] = (m & (1 << i) ? 'A' : 'P');
}
int big = 1;
for (int i = 0; i < n; i++) {
int r = 0;
while (i - r - 1 >= 0 && i + r + 1 < n && s[i-r-1] == s[i+r+1]) {
r++;
}
big = max(big, 2 * r + 1);
if (i < n - 1) {
r = 0;
while (i-r >= 0 && i+r+1 < n && s[i-r] == s[i+r+1]) {
r++;
}
big = max(big, 2 * r);
}
}
if (big == k) {
cout << s << "\n";
return;
}
}
cout << "NIE\n";
return;
}
if (k < 4) {
cout << "NIE\n";
return;
}
string s(k, 'A');
while ((int) s.length() < n) {
s += "PAPPAA";
}
s.resize(n);
cout << s << "\n";
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int T;
cin >> T;
while (T--) {
test_case();
}
}
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 | #include <bits/stdc++.h> using namespace std; void test_case() { int n, k; cin >> n >> k; if (n <= 8) { for (int m = 0; m < (1 << n); m++) { string s(n, '.'); for (int i = 0; i < n; i++) { s[i] = (m & (1 << i) ? 'A' : 'P'); } int big = 1; for (int i = 0; i < n; i++) { int r = 0; while (i - r - 1 >= 0 && i + r + 1 < n && s[i-r-1] == s[i+r+1]) { r++; } big = max(big, 2 * r + 1); if (i < n - 1) { r = 0; while (i-r >= 0 && i+r+1 < n && s[i-r] == s[i+r+1]) { r++; } big = max(big, 2 * r); } } if (big == k) { cout << s << "\n"; return; } } cout << "NIE\n"; return; } if (k < 4) { cout << "NIE\n"; return; } string s(k, 'A'); while ((int) s.length() < n) { s += "PAPPAA"; } s.resize(n); cout << s << "\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int T; cin >> T; while (T--) { test_case(); } } |
English