题解 | 小红的矩阵染色

小红的矩阵染色

https://www.nowcoder.com/practice/dcbaf862c0e046d79e9cd297abd76bcf

贪心

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();
        int m=in.nextInt();
        int k=in.nextInt();
        char[][] matrix=new char[n][m];
        for(int i=0;i<n;i++){
            matrix[i]=in.next().toCharArray();
        }
        List<Integer> block=new ArrayList<>();
        for(int j=0;j<m;j++){
            int current=0;
            for(int i=0;i<n;i++){
                if(matrix[i][j]=='o'){
                    current++;
                }else{
                    if(current>=2){
                        block.add(current);
                    }
                    current=0;
                }
            }
            if(current>=2){
                block.add(current);
            }
        }
        Collections.sort(block,Collections.reverseOrder());
        int score=0;
        for(int len:block){
            if(k==0){
                break;
            }
            int cell=Math.min(k,len);
            if(cell>=2){
                score+=cell-1;
            }
            k-=cell;
        }
        System.out.println(score);

    }
}

全部评论

相关推荐

01-05 22:56
武汉大学 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务