#abc159e. [abc159_e]Dividing Chocolate

[abc159_e]Dividing Chocolate

题目描述

我们有一块被分成 HHWW 列的巧克力棒。

如果第 ii 行第 jj 列的方块是黑色,那么 Si,jS_{i,j} 等于 0;如果是白色,那么 Si,jS_{i,j} 等于 1

我们将切割这块巧克力棒若干次,将其分成若干个方块。每次切割,我们会沿着棋盘的某些边界线将整个巧克力棒切开。

要使得每个方块中的白色方格数量不超过 KK,我们需要切割这块巧克力棒多少次?

约束条件

  • 1H101 \leq H \leq 10
  • 1W10001 \leq W \leq 1000
  • 1KH×W1 \leq K \leq H \times W
  • Si,jS_{i,j} 取值为 01

输入

从标准输入读取输入数据,输入格式如下:

HH WW KK

S1,1S1,2...S1,WS_{1,1}S_{1,2}...S_{1,W}

:

SH,1SH,2...SH,WS_{H,1}S_{H,2}...S_{H,W}

输出

打印出需要切割这块巧克力棒的最小切割次数,使得每个方块中的白色方格数量不超过 KK

示例输入 1

3 5 4
11100
10001
00111

示例输出 1

2

例如,我们可以在第 11 行和第 22 行之间,在第 33 列和第 44 列之间切割,如左侧图示所示。

请注意,右侧图示的切割方式是不可行的。

图示

示例输入 2

3 5 8
11100
10001
00111

示例输出 2

0

不需要切割。

示例输入 3

4 10 4
1110010010
1000101110
0011101001
1101000111

示例输出 3

3