小红想知道,最多可以得到多少分?
第一行输入三个正整数,代表矩阵的行数和列数、以及小红最多可以染色的格子数量。
接下来的行,每行输入一个长度为
的字符串,用来表示矩阵的初始染色情况。'*'字符代表黑色,'o'字符代表白色。
一个整数,代表小红可以获得的最大分数。
4 4 3 *o*o oooo **** oooo
1
将矩阵染色成如下样式即可('r'代表红色):*r*ooroo****oooo
3 3 3 *o* *o* *o*
2
import sys
a = [ i.replace('\n','') for i in list(sys.stdin)]
n,m,k = tuple(map(int,a[0].split(' ')))
a.pop(0)
max_o = []
score = 0
for j in range(m):
count = 0
for i in range(n):
if a[i][j] == 'o':
count += 1
else:
max_o.append(count)
count = 0
continue
max_o.append(count)
max_o = sorted(max_o,reverse=True)
for j in range(len(max_o)):
max_geze = max_o[j]
if k==0&nbs***bsp;max_geze == 0:
break
if k > 0:
if k > max_geze:
score += max_geze-1
k -= max_geze
else:
score += k-1
k = 0
print(score)