def check_word_len(puzzle, n, k):
result = 0
#가로
for line in puzzle:
start, idx = 0, 0
flag = 0
while idx < n:
# 0->1
if line[idx] and not flag :
start = idx
flag = 1
#1->0
elif not line[idx] and flag :
if idx - start == k :
result += 1
flag = 0
idx += 1
if flag and idx - start == k:
result += 1
#세로
for i in range(n):
start, idx = 0, 0
flag = 0
while idx < n :
#0->1
if puzzle[idx][i] and not flag :
start = idx
flag = 1
#1->0
elif not puzzle[idx][i] and flag :
if idx - start == k:
result += 1
flag = 0
idx += 1
if flag and idx - start == k:
result += 1
return result
T = int(input())
for test_case in range(1, T+1):
n, k = map(int,input().split())
word_puzzle = []
for i in range(n):
word_puzzle.append(list(map(int,input().split())))
result = check_word_len(word_puzzle, n, k)
print(f'#{test_case} {result}')
check_word_len
함수는 퍼즐에서 길이에 맞는 가로, 세로줄을 찾아서 개수를 리턴flag
는 0이면 0인 상태, 1이면 1인 상태를 표시조금 더 간결하게 코드를 구현하고 싶었는데, 쓰다보니 길어진 감이 있다ㅠ