미로 연결
시간 제한5초메모리 제한512 MB
슬래시와 점으로 그린 45도 회전 미로가 주어질 때, 모든 칸이 바깥과 연결되도록 제거해야 하는 벽의 최소 개수를 구한다.
문제
45도 회전하여 ASCII 슬래시 문자(/, \)로 그려진 직교 미로가 주어진다(아래 참고). 벽을 통과하지 않고 (연결되지 않았을 수도 있는) 미로의 모든 칸에서 바깥으로 탈출할 수 있도록 하려면, 제거해야 하는 벽의 최소 개수를 구하여라.
/\
\/
위 미로에는 완전히 둘러싸인 칸이 하나뿐이다. 어떤 벽이든 하나를 제거하면 바깥으로 탈출할 수 있다.
/\..
\.\\.
.\/\
..\/
위 미로에는 둘러싸인 영역이 두 개 있다. 모든 칸을 바깥과 연결하려면 벽을 두 개 제거해야 한다.
/\/\/\/\/\/\/\/\/\/\
\../\\.\/./././\/\/\/
/./\.././\/\\.\/\/\/\
\/\/\.\/\/./\/..\..\
/\/./\/\/./..\/\/..\
\.\.././\\.\/\/./\.\/
/.../\../..\/./.../\
\/\/\/\/\/\/\/\/\/\/
위 미로에서 모든 칸에 바깥에서 접근할 수 있게 하려면 벽을 26개 제거해야 한다.
입력
첫째 줄에 미로의 행 수 r과 열 수 c가 주어진다(1 ≤ r, c ≤ 1000).
다음 r개 줄에는 각각 정확히 c개의 문자로 이루어진 문자열이 주어지며, 문자는 ‘.’, ‘/’, ‘\’ 중 하나이다. 문자 격자에서 x와 y 좌표의 합이 홀수인 칸을 홀수 칸, 짝수인 칸을 짓수 칸이라 하자. 모든 /가 홀수 칸에 있고 모든 \가 짝수 칸에 있거나, 그 반대이다.
출력
미로의 모든 칸에서 탈출이 가능하도록 제거해야 하는 벽의 최소 개수를 정수로 출력한다.