#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define ff first
#define ss second
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
int t; cin>>t;
while(t--)
{
int n,k; cin>>n>>k;
if(k<20 && n>(1<<k)) {cout<<"NIE"<<'\n'; continue;}
if(k==1)
{
if(n==1) cout<<"A"<<'\n';
else cout<<"AP"<<'\n';
continue;
}
//cout<<"XDDD"<<endl;
string ans;
int start=min(n,k);
for(int i=0; i<start; i++) ans.push_back('A');
int ile;
if(k<=19) ile=(1<<(k-2))-1;
else ile=n;
//cout<<"XDDD"<<endl;
char akt='P';
for(int i=1; i<=ile && (int)ans.size()<n; i++)
{
int sajz=1+__builtin_ctz(i);
for(int j=0; j<2 && (int)ans.size()<n; j++)
{
int trza=min(sajz, (int)(n-ans.size()));
ans.append(trza,akt);
//cout<<"XDDD"<<endl;
if(akt=='P') akt='A';
else akt='P';
}
}
//cout<<"XDDD"<<endl;
while((int)ans.size()<n) ans.push_back('P');
//cout<<"XDDD"<<endl;
cout<<ans<<'\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 | #include "bits/stdc++.h" using namespace std; #define ll long long #define ff first #define ss second int main() { ios_base::sync_with_stdio(0); cin.tie(0); int t; cin>>t; while(t--) { int n,k; cin>>n>>k; if(k<20 && n>(1<<k)) {cout<<"NIE"<<'\n'; continue;} if(k==1) { if(n==1) cout<<"A"<<'\n'; else cout<<"AP"<<'\n'; continue; } //cout<<"XDDD"<<endl; string ans; int start=min(n,k); for(int i=0; i<start; i++) ans.push_back('A'); int ile; if(k<=19) ile=(1<<(k-2))-1; else ile=n; //cout<<"XDDD"<<endl; char akt='P'; for(int i=1; i<=ile && (int)ans.size()<n; i++) { int sajz=1+__builtin_ctz(i); for(int j=0; j<2 && (int)ans.size()<n; j++) { int trza=min(sajz, (int)(n-ans.size())); ans.append(trza,akt); //cout<<"XDDD"<<endl; if(akt=='P') akt='A'; else akt='P'; } } //cout<<"XDDD"<<endl; while((int)ans.size()<n) ans.push_back('P'); //cout<<"XDDD"<<endl; cout<<ans<<'\n'; } } |
English