만드는 중입니다

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

통신 시스템의 성능 저하

면접 대비

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

요약
격자에 기지국 하나와 노드 M개가 있을 때, 노드를 K1개(낮) 또는 K2개(밤) 켰을 때 거리 합에서 최소 직사각형 넓이를 뺀 값의 최댓값을 구합니다.
난이도

보통10점 중 5점

유형
완전 탐색, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

주영이는 통신 시스템의 정비사다. 주영이는 마을 정보가 주어졌을 때 마을에서 생기는 통신 성능을 모델링하고 싶다.

마을은 N×NN \times N 격자로 나타낼 수 있다. (r,c)(r, c)는 rr행 cc열의 칸을 뜻하며, 각 칸은 기지국, 노드, 빈칸 중 하나다. 기지국은 노드의 모든 통신을 관리하며 마을에 1개만 있다. 노드는 데이터 교환이 일어나는 곳이며 마을에 MM개만 있다. 처음에는 모든 노드가 비활성화되어 있다.

주영이는 일부 노드를 활성화해서 통신 성능을 모델링한다. 모델링에서는 통신에 큰 왜곡이 생길 수 있으므로, 왜곡으로 인한 최대 통신 성능 저하 수치를 고려해야 한다.

  • PP (경로 손실): 기지국과 활성화된 각 노드 사이 거리의 총합. 두 칸 (a,b)(a, b), (c,d)(c, d) 사이의 거리는 ∣a−c∣+∣b−d∣|a - c| + |b - d|다.
  • UU (사용자 산포도): 활성화된 모든 노드를 포함하는 최소 직사각형의 넓이. 직사각형의 변은 xx축 또는 yy축에 평행해야 한다.
  • CC (통신 성능 저하 수치): max⁡(P−U,0)\max(P - U, 0)

최대 통신 성능 저하 수치는 가능한 CC 값 중 최댓값이다. 활성화한 노드가 없으면 0이다.

낮에는 K1K_1개, 밤에는 K2K_2개의 노드를 활성화해야 한다. 낮과 밤 각각에 대해 최대 통신 성능 저하 수치를 구하라.

입력

첫 번째 줄에 NN, MM, K1K_1, K2K_2가 공백으로 구분되어 주어진다.

두 번째 줄부터 NN개의 줄에 걸쳐 마을 정보가 주어진다. ii번째 줄은 길이가 NN인 문자열이다. 그중 jj번째 문자 cijc_{ij}는 (i,j)(i, j) 칸의 정보를 나타낸다. 문자가 F이면 빈칸, B이면 기지국, N이면 비활성화된 노드다.

출력

첫 번째 줄에 낮의 최대 통신 성능 저하 수치를 출력한다.

두 번째 줄에 밤의 최대 통신 성능 저하 수치를 출력한다.

제한

2≤N≤62 \le N \le 6

0≤M≤N2−10 \le M \le N^2 - 1

max⁡(M−4,0)≤K1≤M\max(M - 4, 0) \le K_1 \le M

0≤K2≤min⁡(4,M)0 \le K_2 \le \min(4, M)

마을에 주어지는 기지국은 1개다.

마을에 주어지는 노드는 MM개다.

예제1

  1. 예제 1

    입력
    3 4 3 1
    BNF
    NFF
    NFN
    
    예상 출력
    1
    3