만드는 중입니다

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

Yawned-Zoned

면접 대비

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

요약
칸막이 W개를 열 사이에 놓아, 한 학생에서 시작해 퍼지는 하품 인원의 최댓값이 가장 작아지도록 하고 그 값을 출력합니다.
난이도

보통10점 중 5점

유형
동적 계획법, BFS, 그래프
정답자
아직 제출이 없습니다

문제

정원이는 학교에서 수업을 하다가 신기한 경험을 했다. 한 학생이 졸려서 하품을 하자 주변에 있던 학생들이 따라서 하품을 하기 시작한 것이다.

정원이가 수업하는 강의실은 RR줄에 걸쳐 가로로 CC개의 좌석이 격자 모양으로 배치되어 있고, 일부 칸에는 학생들이 앉아 있다. 한 학생이 하품을 하면 그 학생의 한 칸 앞, 한 칸 왼쪽, 한 칸 오른쪽, 한 칸 뒤 자리에 앉은 학생이 새로 하품을 한다. 이미 하품을 한 학생은 다시 하품을 하지 않는다.

학생 한 명이 하품을 하더라도 시간이 지나면 많은 학생이 하품을 한다. 너무 많은 학생이 한꺼번에 하품을 하면 수업에 크게 방해가 되므로, 정원이는 세로로 칸막이를 설치하려고 한다. 칸막이는 좌석의 ii번째 열과 i+1i+1번째 열 사이에 설치할 수 있으며(1≤i<C1 \leq i < C), 매우 길기 때문에 맨 앞부터 맨 뒤까지 모두 막도록 설치해야 한다.

두 학생 사이에 칸막이가 있으면 한 학생이 하품을 하더라도 하품이 다른 학생에게 전파되지 않는다. 정원이는 이를 이용해 칸막이를 WW개 설치하여, 학생 한 명이 하품을 했을 때 추가로 하품을 하는 학생 수의 최댓값을 최소로 만들고 싶어 한다. 정원이가 칸막이를 설치하도록 돕는 프로그램을 작성하라.

입력

첫 번째 줄에 강의실의 세로 크기 RR, 가로 크기 CC, 칸막이의 수 WW가 주어진다.

두 번째 줄부터 RR개의 줄에는 강의실의 정보를 나타내는 길이 CC의 숫자열이 주어진다. ii번째 숫자열의 jj번째 값은 앞에서부터 ii번째, 왼쪽에서부터 jj번째 좌석에 학생이 있으면 1, 없으면 0이다.

출력

정원이가 칸막이 WW개를 적절히 배치했을 때, 한 번에 하품을 하는 학생 수의 최댓값을 출력한다.

예제2

  1. 예제 1

    입력
    2 5 0
    11011
    01101
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3 6 2
    110011
    011110
    110011
    
    예상 출력
    5