题解 | 小红的矩阵染色
小红的矩阵染色
https://www.nowcoder.com/practice/f8b771318bb04490b7389cc35e148166
def solve():
n,m,k = map(int, input().split())
seqs = [list(input()) for _ in range(n)]
scores = []
for i in range(n-1):
for j in range(m):
if seqs[i][j] == "o" and seqs[i+1][j] == "o":
score = 1
seqs[i][j] = "*"
seqs[i+1][j]= "*"
q = i+2
while q <= n-1 and seqs[q][j] == "o":
seqs[q][j] = "*"
score += 1
q+=1
scores.append(score)
scores.sort(reverse=True)
res = 0
for score in scores:
if k < 2:
break
if k >= score+1:
res += score
k -= (score+1)
else:
if k >= 2:
res += (k - 1)
break
print(res)
solve()

