import sys
def sprawdz(s):
l, p = len(s), 0
for i in range(l):
for j in range(i+1, l+1):
if s[i:j] == "".join(reversed(s[i:j])):
p = max(p, j-i)
return p
# 1 PA
# 2 PPAA
# 3 PPPAPAAA
# 4 PPPP(APAAPPAPAAPP)
k = 3
best = 0
def rec(s):
global k, best
if sprawdz(s) > k:
return
if len(s) > best:
print(len(s), s)
best = len(s)
rec(s + "P")
rec(s + "A")
#rec("P")
def generuj(n, k):
res = ""
if k >= 5:
if k%2 == 1:
q = (k // 2) - 1
res = "PAPAPPAA"[8-q%8:] + "PAPAPPAA" * (q//8)
else:
q = (k // 2)
res = "APPAAPAP"[8-q%8:] + "APPAAPAP" * (q//8)
res += "PAPAAPPA" * (n//8 + 1)
res = res[:n]
if k == 4:
res = "PPPP" + "APAAPPAPAAPP" * (n//12 + 1)
res = res[:n]
if k <= 3:
s = ["PA", "PPAA", "PPPAPAAA"][k-1]
if n > len(s):
return None
else:
res = s[:n]
return res
#nTC = 0
nTC = int(sys.stdin.readline().strip())
for tC in range(nTC):
n, k = map(int, sys.stdin.readline().strip().split(' '))
res = generuj(n, k)
#if res is not None:
# print(len(res), sprawdz(res), res)
print("NIE" if res is None else res)
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 | import sys def sprawdz(s): l, p = len(s), 0 for i in range(l): for j in range(i+1, l+1): if s[i:j] == "".join(reversed(s[i:j])): p = max(p, j-i) return p # 1 PA # 2 PPAA # 3 PPPAPAAA # 4 PPPP(APAAPPAPAAPP) k = 3 best = 0 def rec(s): global k, best if sprawdz(s) > k: return if len(s) > best: print(len(s), s) best = len(s) rec(s + "P") rec(s + "A") #rec("P") def generuj(n, k): res = "" if k >= 5: if k%2 == 1: q = (k // 2) - 1 res = "PAPAPPAA"[8-q%8:] + "PAPAPPAA" * (q//8) else: q = (k // 2) res = "APPAAPAP"[8-q%8:] + "APPAAPAP" * (q//8) res += "PAPAAPPA" * (n//8 + 1) res = res[:n] if k == 4: res = "PPPP" + "APAAPPAPAAPP" * (n//12 + 1) res = res[:n] if k <= 3: s = ["PA", "PPAA", "PPPAPAAA"][k-1] if n > len(s): return None else: res = s[:n] return res #nTC = 0 nTC = int(sys.stdin.readline().strip()) for tC in range(nTC): n, k = map(int, sys.stdin.readline().strip().split(' ')) res = generuj(n, k) #if res is not None: # print(len(res), sprawdz(res), res) print("NIE" if res is None else res) |
English