第二题,代码没看出什么区别,通过80%

```
m = input()
grid = []
for _ in xrange(m):
    grid.append(raw_input().split())
    
color = [[0] * m for i in range(m)]
res = 0
def dfs(i,j):
    for ii,jj in [(i-1,j),(i+1,j),(i,j-1),(i,j+1)]:
        if 0 <= ii < m and 0 <= jj < m and color[ii][jj] == 0 and grid[ii][jj] == '1':
            color[ii][jj] = 1
            dfs(ii,jj)
            
for i in range(m):
    for j in range(m):
        if color[i][j] == 0 and grid[i][j] == '1':
            color[i][j] = 1
            dfs(i,j)
            res += 1

print res

```