def countBattleships(board):
def is_valid(row, col):
if row < 0 or row > len(board) - 1 or col < 0 or col > len(board[0]) - 1:
return False
else:
return True
def dfs(row, col):
if not is_valid(row,col):
return
if board[row][col] == '.':
return
board[row][col] = '.'
dfs(row, col + 1)
dfs(row, col - 1)
dfs(row + 1, col)
dfs(row - 1, col)
if not board:
return
battleship_count = 0
for row in range(len(board)):
for col in range(len(board[0])):
if board[row][col]=='X':
battleship_count += 1
dfs(row, col)
# print(row,col)
return battleship_count
m = [["X",".",".","X"],[".",".",".","X"],[".",".",".","X"]]
print(countBattleships(m))