import sys
from collections import deque
def read_input():
t = int(sys.stdin.readline().strip())
cases = []
for _ in range(t):
n = int(sys.stdin.readline().strip())
data = deque(map(int, sys.stdin.readline().split()))
cases.append(data)
return cases
def analyse_iterative(dlist):
while True:
while dlist and dlist[0] == 0:
dlist.popleft()
while dlist and dlist[-1] == 0:
dlist.pop()
if len(dlist) == 1:
return "TAK" if dlist[0] == 1 else "NIE"
if len(dlist) == 2:
return "TAK" if abs(dlist[0] - dlist[1]) == 1 else "NIE"
if dlist[0] % 2 == 0:
if dlist[-1] % 2 == 0:
return "NIE"
else:
if dlist[-2] > dlist[-1]:
dlist[-2] -= dlist[-1]
dlist.pop()
else:
return "NIE"
else:
if dlist[1] >= dlist[0]:
dlist[1] -= dlist[0]
dlist.popleft()
else:
return "NIE"
cases = read_input()
for dlist in cases:
print(analyse_iterative(dlist))
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 | import sys from collections import deque def read_input(): t = int(sys.stdin.readline().strip()) cases = [] for _ in range(t): n = int(sys.stdin.readline().strip()) data = deque(map(int, sys.stdin.readline().split())) cases.append(data) return cases def analyse_iterative(dlist): while True: while dlist and dlist[0] == 0: dlist.popleft() while dlist and dlist[-1] == 0: dlist.pop() if len(dlist) == 1: return "TAK" if dlist[0] == 1 else "NIE" if len(dlist) == 2: return "TAK" if abs(dlist[0] - dlist[1]) == 1 else "NIE" if dlist[0] % 2 == 0: if dlist[-1] % 2 == 0: return "NIE" else: if dlist[-2] > dlist[-1]: dlist[-2] -= dlist[-1] dlist.pop() else: return "NIE" else: if dlist[1] >= dlist[0]: dlist[1] -= dlist[0] dlist.popleft() else: return "NIE" cases = read_input() for dlist in cases: print(analyse_iterative(dlist)) |
English