算法设计与分析: 5-31 喷漆机器人问题

本文介绍了F大学的喷漆机器人Rob如何使用回溯法进行高效的喷漆工作。问题要求设计程序使得Rob拿起喷枪的次数最少。内容包括问题描述、Java实现的输入输出以及参考资料。
摘要由CSDN通过智能技术生成

5-31 喷漆机器人问题


问题描述

F 大学开发出一种喷漆机器人 Rob,能用指定颜色给一块矩形材料喷漆。Rob 每次拿起一种颜色的喷枪,为指定颜色的小矩形区域喷漆。喷漆工艺要求,一个小矩形区域只能在所 有紧靠它上方的矩形区域都喷过漆后,才能开始喷漆,且小矩形区域开始喷漆后必须一次性 喷完,不能只喷一部分。为 Rob 编写一个自动喷漆程序,使 Rob 拿起喷枪的次数最少。

喷漆机器人

对于给定的矩形区域和指定的颜色,计算 Rob 拿起喷枪的最少次数。

数据输入:
第一行有 1 个正整数 n,1≤n≤16,表示小矩形的个数。大矩形坐标系如图所示,左上角点的坐标为(0,0)。颜色编号为正整数。接下来的 n 行,每行 用 5 个整数 y1,x1,y2,x2,c 来表示一个矩形。(x1,y1)和(x2,y2)分别表示小矩形的左上角点坐标 和右下角点坐标,c 表示小矩形的颜色。


Java

package Chapter5HuiSuFa;

import java.util.Scanner;

public class PenQiJiQiRen {
   

    private static int MAXx = 1000;
    private static int MAXy = 1000;
    private static int MAXn = 100;
    private static int[][] board;
    private 
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值