수영장 만들기

시간 제한2.5초메모리 제한128 MB

요약
격자의 테두리는 모두 잔디여야 하고 잔디와 구멍이 만나는 경계마다 비용이 드는 조건에서 전체 변환 최소 비용을 구합니다.
난이도

쉬움10점 중 3점

유형
배열, 그리디, 구현
정답자
아직 제출이 없습니다

문제

상근이는 정인이의 앞마당에 수영장을 만들려고 한다.

수영장 부지는 가로 ww, 세로 hh 크기이며, 1×11 \times 1 크기의 정사각형 구역으로 나누어져 있다. 수영장은 00개 이상의 구멍 구역으로 이루어지며, 구멍에는 나중에 물을 채운다.

공사를 시작하기 전, 각 구역은 구멍(.) 또는 잔디(#) 중 하나이다. 이 땅을 수영장으로 만들 때에는 다음 규칙을 따라야 한다.

  • 어떤 구역을 그대로 두는 데에는 비용이 들지 않는다.
  • 잔디 구역을 파서 구멍으로 만드는 비용은 dd원이다.
  • 구멍 구역을 메우고 잔디를 심는 비용은 ff원이다.
  • 수영장의 경계가 되는 각 변, 즉 잔디 구역과 구멍 구역이 맞닿는 모든 변에는 물이 새지 않도록 방수 처리를 해야 하며, 한 변마다 bb원이 든다.
  • 완성된 부지에서 가장 바깥쪽 행과 열은 모두 잔디여야 한다.

부지의 초기 상태가 주어질 때, 수영장을 완성하는 데 필요한 최소 비용을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤1001 \le T \le 100)

각 테스트 케이스의 첫째 줄에는 부지의 크기 ww와 hh가 공백으로 구분되어 주어진다. (2≤w,h≤502 \le w, h \le 50) 둘째 줄에는 세 정수 dd, ff, bb가 주어진다. (1≤d,f,b≤100001 \le d, f, b \le 10000) 이어지는 hh개의 줄에는 부지의 초기 상태가 주어지며, 각 줄은 ww개의 문자로 이루어진다. 문자 #는 잔디를, .는 구멍을 나타낸다.

출력

각 테스트 케이스마다 수영장을 완성하는 데 드는 최소 비용을 한 줄에 하나씩 출력한다.

예제8

  1. 예제 1

    입력
    3
    3 3
    5 5 1
    #.#
    #.#
    ###
    5 4
    1 8 1
    #..##
    ##.##
    #.#.#
    #####
    2 2
    27 11 11
    #.
    .#
    
    예상 출력
    9
    27
    22
    
  2. 예제 2

    입력
    1
    4 4
    3 4 5
    ####
    ####
    ####
    ####
    
    예상 출력
    0
    
  3. 예제 3

    입력
    1
    2 2
    1 1 1
    ..
    ..
    
    예상 출력
    4
    
  4. 예제 4

    입력
    1
    3 3
    100 100 1
    ###
    #.#
    ###
    
    예상 출력
    4
    
  5. 예제 5

    입력
    1
    3 3
    100 1 100
    ###
    #.#
    ###
    
    예상 출력
    1
    
  6. 예제 6

    입력
    1
    5 3
    1 100 100
    #####
    #.#.#
    #####
    
    예상 출력
    200
    
  7. 예제 7

    입력
    1
    4 4
    10000 10000 10000
    #..#
    .##.
    .##.
    #..#
    
    예상 출력
    80000
    
  8. 예제 8

    입력
    5
    2 2
    5 5 5
    ##
    ##
    3 3
    2 3 4
    ###
    #.#
    ###
    4 3
    6 1 9
    ####
    #..#
    ####
    3 4
    9 9 1
    ###
    #.#
    #.#
    ###
    5 5
    3 7 2
    #####
    #.#.#
    #...#
    #.#.#
    #####
    
    예상 출력
    0
    3
    2
    6
    30