#include <iostream>
void single_run(std::istream& in, std::ostream& out)
{
uint32_t n;
uint32_t k;
uint32_t min;
in >> n >> k;
if (n == k) {
for(uint32_t i = 0; i < k; ++i) {
out << "P";
}
} else if (k == 1) {
if (n == 2) {
out << "PA";
} else {
out << "NIE";
}
}
else if (k == 2) {
if (n == 3) {
out << "PPA";
} else if (n == 4) {
out << "PPAA";
} else {
out << "NIE";
}
} else if (k <= (n/2)) {
uint32_t num_pa = (k % 2 == 1 ? ((k+1)/2) : (k/2)) - 1;
uint32_t missing = n - (num_pa * 2);
if (missing > 2 * k) {
out << "NIE";
} else {
uint32_t num_a = 0;
uint32_t num_p = 0;
if (missing <= k) {
num_a = missing;
} else {
num_a = k;
num_p = missing - k;
}
for (uint32_t i = 0; i < num_a; ++i) {
out << "A";
}
for (uint32_t i = 0; i < num_pa; ++i) {
out << "PA";
}
for (uint32_t i = 0; i < num_p; ++i) {
out << "P";
}
}
} else {
uint32_t num_a = n - k;
uint32_t num_p = k;
for (uint32_t i = 0; i < num_p; ++i) {
out << "P";
}
for (uint32_t i = 0; i < num_a; ++i) {
out << "A";
}
}
out << "\n";
}
void prog_main(std::istream& in, std::ostream& out)
{
uint32_t n = 0;
in >> n;
for (int32_t i = 0; i < n; ++i) {
single_run(in,out);
}
}
#ifndef TEST
int main(int argc, char* argv[])
{
prog_main(std::cin, std::cout);
return 0;
}
#endif
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 | #include <iostream> void single_run(std::istream& in, std::ostream& out) { uint32_t n; uint32_t k; uint32_t min; in >> n >> k; if (n == k) { for(uint32_t i = 0; i < k; ++i) { out << "P"; } } else if (k == 1) { if (n == 2) { out << "PA"; } else { out << "NIE"; } } else if (k == 2) { if (n == 3) { out << "PPA"; } else if (n == 4) { out << "PPAA"; } else { out << "NIE"; } } else if (k <= (n/2)) { uint32_t num_pa = (k % 2 == 1 ? ((k+1)/2) : (k/2)) - 1; uint32_t missing = n - (num_pa * 2); if (missing > 2 * k) { out << "NIE"; } else { uint32_t num_a = 0; uint32_t num_p = 0; if (missing <= k) { num_a = missing; } else { num_a = k; num_p = missing - k; } for (uint32_t i = 0; i < num_a; ++i) { out << "A"; } for (uint32_t i = 0; i < num_pa; ++i) { out << "PA"; } for (uint32_t i = 0; i < num_p; ++i) { out << "P"; } } } else { uint32_t num_a = n - k; uint32_t num_p = k; for (uint32_t i = 0; i < num_p; ++i) { out << "P"; } for (uint32_t i = 0; i < num_a; ++i) { out << "A"; } } out << "\n"; } void prog_main(std::istream& in, std::ostream& out) { uint32_t n = 0; in >> n; for (int32_t i = 0; i < n; ++i) { single_run(in,out); } } #ifndef TEST int main(int argc, char* argv[]) { prog_main(std::cin, std::cout); return 0; } #endif |
English