11from collections import deque
22
33
4- def bfs (i , j , A ):
4+ def bfs (i , j , A , visited ):
55 q = deque ([(i , j )])
66
77 while q :
@@ -17,32 +17,29 @@ def bfs(i, j, A):
1717change_normal = {'R' : 1 , 'G' : 2 , 'B' : 3 }
1818change_blind = {'R' : 1 , 'G' : 1 , 'B' : 2 }
1919
20- first = [list (map (str , input ())) for _ in range (N )]
20+ RGB = [list (map (str , input ())) for _ in range (N )]
2121
2222normal = [[0 ] * N for _ in range (N )]
2323blind = [[0 ] * N for _ in range (N )]
2424for i in range (N ):
2525 for j in range (N ):
26- normal [i ][j ] = change_normal [first [i ][j ]]
27- blind [i ][j ] = change_blind [first [i ][j ]]
26+ normal [i ][j ] = change_normal [RGB [i ][j ]]
27+ blind [i ][j ] = change_blind [RGB [i ][j ]]
2828
29- visited = [[False ] * N for _ in range (N )]
29+ visited1 = [[False ] * N for _ in range (N )]
30+ visited2 = [[False ] * N for _ in range (N )]
3031dx = [- 1 , 1 , 0 , 0 ]
3132dy = [0 , 0 , - 1 , 1 ]
3233
3334ans = [0 , 0 ]
3435
3536for i in range (N ):
3637 for j in range (N ):
37- if not visited [i ][j ]:
38- bfs (i , j , normal )
38+ if not visited1 [i ][j ]:
39+ bfs (i , j , normal , visited1 )
3940 ans [0 ] += 1
40-
41- visited = [[False ] * N for _ in range (N )]
42- for i in range (N ):
43- for j in range (N ):
44- if not visited [i ][j ]:
45- bfs (i , j , blind )
41+ if not visited2 [i ][j ]:
42+ bfs (i , j , blind , visited2 )
4643 ans [1 ] += 1
4744
4845print (* ans )
0 commit comments