粉刷房子问题:计算小花费成本.pptxVIP

  • 2
  • 0
  • 约1.41千字
  • 约 7页
  • 2026-06-24 发布于北京
  • 举报

粉刷房子

题目:假如有一排房子,共?n?个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个?nx3?的正整数矩阵?costs?来表示的。请计算出粉刷完所有房子最少的花费成本。

定义红色为0,蓝色为1,绿色为2红色蓝色绿色

012输入:costs=[[17,2,17],[16,16,5],[14,3,19]]输出:10解释:将0号房子粉刷成蓝色,1号房子粉刷成绿色,2号房子粉刷成蓝色。最少花费:2+5+3=10蓝色绿色蓝色......................

例子示例2:输入:costs=[[7,6,2]]输出:2示例3:输入:costs=[[17,2,17],[16,16,5]]输出:7示例4:输入:costs=[]输出:0示例5:输入costs=[[1,2,3],[2,3,4],[3,4,5],[4,5,6]]输出:12

代码#定义min_num函数,用于计算房子最小的总价格defmin_num(list1):#获取列表的长度,即房子的个数n=len(list1)

文档评论(0)

1亿VIP精品文档

相关文档