#include <bits/stdc++.h>
#define LL long long
int T,N,K,fd[4][16],as[4][16],a[16];
signed main(void) {
scanf("%d",&T);
for(int i=1;i<=3;i++) {
for(int j=1;j<=10;j++) {
for(int k=0;k<(1<<j);k++) {
for(int l=1;l<=j;l++) {
if((k>>l-1)&1) a[l]=1;
else a[l]=2;
}
int ma=0;
for(int l=1;l<=j;l++) {
for(int r=l;r<=j;r++) {
bool gg=0;
for(int k=l;k<=r;k++) {
if(a[k]!=a[l+r-k]) gg=1;
}
if(gg==0) {
ma=std::max(ma,r-l+1);
}
}
}
if(ma==i) {
fd[i][j]=1;
as[i][j]=k;
// printf("!! %d %d\n",i,j);
break;
}
}
}
}
while(T--) {
scanf("%d %d",&N,&K);
if(K<=3) {
if(N>10) {
printf("NIE\n");
continue;
}
if(fd[K][N]) {
for(int j=1;j<=N;j++) {
if((as[K][N]>>j-1)&1) {
printf("P");
} else {
printf("A");
}
}
printf("\n");
} else {
printf("NIE\n");
}
continue;
}
for(int i=1;i<=K;i++) {
printf("P");
}
for(int i=1;i<=N-K;i++) {
int aa=(i-1)%6+1;
if(aa==1||aa==2||aa==4) printf("A");
else printf("P");
}
printf("\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 | #include <bits/stdc++.h> #define LL long long int T,N,K,fd[4][16],as[4][16],a[16]; signed main(void) { scanf("%d",&T); for(int i=1;i<=3;i++) { for(int j=1;j<=10;j++) { for(int k=0;k<(1<<j);k++) { for(int l=1;l<=j;l++) { if((k>>l-1)&1) a[l]=1; else a[l]=2; } int ma=0; for(int l=1;l<=j;l++) { for(int r=l;r<=j;r++) { bool gg=0; for(int k=l;k<=r;k++) { if(a[k]!=a[l+r-k]) gg=1; } if(gg==0) { ma=std::max(ma,r-l+1); } } } if(ma==i) { fd[i][j]=1; as[i][j]=k; // printf("!! %d %d\n",i,j); break; } } } } while(T--) { scanf("%d %d",&N,&K); if(K<=3) { if(N>10) { printf("NIE\n"); continue; } if(fd[K][N]) { for(int j=1;j<=N;j++) { if((as[K][N]>>j-1)&1) { printf("P"); } else { printf("A"); } } printf("\n"); } else { printf("NIE\n"); } continue; } for(int i=1;i<=K;i++) { printf("P"); } for(int i=1;i<=N-K;i++) { int aa=(i-1)%6+1; if(aa==1||aa==2||aa==4) printf("A"); else printf("P"); } printf("\n"); } } |
English