AtCoder Beginner Contest 241 C - Connect 6【Python】

https://atcoder.jp/contests/abc241/tasks/abc241_c

AtCoder ProblemsでDifficulty: 664でした。

コンテスト中に解けませんでした。6行6列のマス目を動かして全探索するという発想ができませんでした。

N = int(input())
S = []
for i in range(N):
    S.append(input())

for i in range(N-5):
    for j in range(N-5):
        for k in range(6):
            count = 0
            for l in range(6):
                if S[i+k][j+l] == '#':
                    count += 1
            if count >= 4:
                print('Yes')
                exit()
            
        for k in range(6):
            count = 0
            for l in range(6):
                if S[i+l][j+k] == '#':
                    count += 1
            if count >= 4:
                print('Yes')
                exit()
        count = 0
        for k in range(6):
            if S[i+k][j+k] == '#':
                count += 1
        if count >= 4:
            print('Yes')
            exit()
        count = 0
        for k in range(6):
            if S[i+k][j+5-k] == '#':
                count += 1
        if count >= 4:
            print('Yes')
            exit()
print('No')