만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

벽

시간 제한2초메모리 제한1024 MB

요약
대각선 벽이 있는 n행 m열 격자에서 일부 칸의 벽을 뒤집어 닫힌 벽의 고리가 생기지 않게 하는 최소 비용을 구합니다.
난이도

보통10점 중 7점

유형
최소 신장 트리, 유니온 파인드, 그래프
정답자
아직 제출이 없습니다

문제

불쌍한 bobo가 미로에 갇혔다.

미로는 nn개의 행과 mm개의 열로 나뉘어 있다. 각 칸에는 대각선을 따라 벽이 하나씩 있으므로, 칸의 종류는 두 가지뿐이다.

bobo는 마법의 힘으로 칸 (i,j)(i, j)의 종류를 비용 ci,jc_{i,j}를 내고 바꿀 수 있다. 착한 마법사인 bobo는 미로가 더 이상 사람을 가둘 수 없게 만들고 싶어 한다. 즉, 벽으로 둘러싸인 닫힌 영역이 없어야 한다.

bobo가 이 목표를 이루는 데 드는 최소 총비용을 구하라.

입력

첫 줄에 정수 nn, mm이 주어진다 (1≤n,m≤10001 \leq n, m \leq 1000).

이어지는 nn개의 줄에는 각각 mm개의 문자가 주어지며, 각 칸에 있는 벽의 방향을 나타낸다.

마지막 nn개의 줄에는 각각 mm개의 정수 ci,1,ci,2,…,ci,mc_{i,1}, c_{i,2}, \dots, c_{i,m}이 주어진다 (1≤ci,j≤10001 \leq c_{i,j} \leq 1000).

출력

최소 비용을 나타내는 정수 하나를 출력한다.

예제2

  1. 예제 1

    입력
    3 3
    /\/
    \/\
    /\/
    1 3 3
    3 1 3
    3 3 3
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2 2
    \/
    /\
    1000 1000
    1000 1000
    
    예상 출력
    0