当前位置: 首页 > article >正文

小蓝的漆房——算法思路

题目链接:1.小蓝的漆房 - 蓝桥云课 (lanqiao.cn)

        本题只要是通过枚举的方法,算出涂成每一种颜色所需的天数,最后在所有天数中找出最小值(由题可知,最多只有60种颜色,所以可以尝试算出每种颜色所需的时间)。

代码注释有详细的解释……

程序代码:

package lanqiao;

import java.util.Scanner;

/**
 * 2023/11/26
 */
public class lanqiao3272_小蓝的漆房 {
        public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        int t=scan.nextInt();//样例个数
        while (t-->0){
            int n=scan.nextInt();//数组的个数
            int k=scan.nextInt();//每天能刷的区间大小
            int[] arr=new int[n];
            for (int i=0;i<n;i++)
                arr[i]=scan.nextInt();
            int ans=n;//最大的结果是每个房子都重新刷了一遍
            for (int i=1;i<=60;i++){//遍历每个颜色,最后选出最少天数
                int res=0;//记录刷每一种颜色的所需要的天数
                for (int j=0;j<n;j++){//遍历每一个房子,如果区间中有房子的颜色和要刷的颜色不同,就刷成相同的
                    if (arr[j]!=i){
                        j+=k-1;//是把k长度的区间减去,继续下一天
                        res++;
                    }
                }
                ans=Math.min(ans,res);//得到每一种颜色所需的天数中的最小值
            }
            System.out.println("小蓝涂漆最少的天数为:"+ans);
        }
    }
}

运行结果:

2
5 2
1 1 2 2 1
小蓝涂漆最少的天数为:1
6 2
1 2 2 3 3 3
小蓝涂漆最少的天数为:2

进程已结束,退出代码为 0


http://www.kler.cn/a/271812.html

相关文章:

  • 【deepseek】deepseek-r1本地部署-第二步:huggingface.co替换为hf-mirror.com国内镜像
  • Python-基于PyQt5,json和playsound的通用闹钟
  • C# lock使用详解
  • 国内优秀的FPGA设计公司主要分布在哪些城市?
  • Nginx开发01:基础配置
  • C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
  • Blocks —— 《Objective-C高级编程 iOS与OS X多线程和内存管理》
  • 通过对话式人工智能实现个性化用户体验
  • 论文阅读——GeoChat(cvpr2024)
  • Linux运维相关基础知识
  • 030—pandas 对数据透视并将多层索引整合为一列
  • Sass学习记录
  • 有参转录组分析 |基因组信息下载和FQ数据过滤教程
  • ts版本微信小程序在wxml保存文件不刷新页面的解决办法
  • QML与C++通信
  • 面向对象编程第三式: 多态 (Java篇)
  • 【linux】搜索所有目录和子目录下的包含.git的文件并删除
  • 外包干了9天,技术退步明显。。。。。
  • 开源模型应用落地-qwen模型小试-调用Lora模型-进阶篇(七)
  • STM32输入捕获频率和占空比proteus仿真失败
  • Microsoft VBA Excel 规律的Text文件转工作表Sheet
  • XDP学习笔记
  • C语言基础之输入输出
  • MongoDB从0到1:高效数据使用方法
  • python--剑指offer--10- I. 斐波那契数列
  • AtCoder ABC344 A-E题解