一个算法设计题,求助各位大侠,急!谢谢!
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/08/11 22:01:01
一个算法设计题,求助各位大侠,急!谢谢!
一张地图分成七个区,请用不多于四种颜色对这七个区域进行着色,使得有公共界的区域不同色,给出实现算法.
一张地图分成七个区,请用不多于四种颜色对这七个区域进行着色,使得有公共界的区域不同色,给出实现算法.
![一个算法设计题,求助各位大侠,急!谢谢!](/uploads/image/z/5292177-33-7.jpg?t=%E4%B8%80%E4%B8%AA%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E9%A2%98%2C%E6%B1%82%E5%8A%A9%E5%90%84%E4%BD%8D%E5%A4%A7%E4%BE%A0%2C%E6%80%A5%21%E8%B0%A2%E8%B0%A2%21)
回溯法就可以了.
先抽象成数学问题:
将区域抽象成点,区域有公共边界,则在对应点间连线,最后组成一个图.
由于回溯法是对解空间的深度优先搜索,因此在一般情况下可用递归函数来实现回溯法如下:
procedure try(i:integer);
var
begin
if i>n then 输出结果
else for j:=下界 to 上界 do
begin
if 可行{满足限界函数和约束条件} then
begin
置值;
try(i+1); {递归到下一阶段求解};
递归结束,回朔;
end;
end;
end;
说明:
i是递归深度;
n是深度控制,即解空间树的的高度;
可行性判断有两方面的内容:不满约束条件则剪去相应子树;若限界函数越界,也剪去相应子树;两者均满足则进入下一层.
再具体到本问题:
i是染到第几个区域, n就是7, j就是1 to 4(染何种颜色),
先抽象成数学问题:
将区域抽象成点,区域有公共边界,则在对应点间连线,最后组成一个图.
由于回溯法是对解空间的深度优先搜索,因此在一般情况下可用递归函数来实现回溯法如下:
procedure try(i:integer);
var
begin
if i>n then 输出结果
else for j:=下界 to 上界 do
begin
if 可行{满足限界函数和约束条件} then
begin
置值;
try(i+1); {递归到下一阶段求解};
递归结束,回朔;
end;
end;
end;
说明:
i是递归深度;
n是深度控制,即解空间树的的高度;
可行性判断有两方面的内容:不满约束条件则剪去相应子树;若限界函数越界,也剪去相应子树;两者均满足则进入下一层.
再具体到本问题:
i是染到第几个区域, n就是7, j就是1 to 4(染何种颜色),
一个算法设计题,求助各位大侠,急!谢谢!
各位大侠帮帮忙解两道线代的题,谢谢,急
求解物理、、急、、、各位大侠帮帮忙 谢谢
求一个电子表格的计算工式.谢谢各位大侠!
各位大侠帮忙翻译,谢谢!
【求助急】关于力学中内能的计算问题,有一个点突然转不过完了麻烦各位大神谢谢
有关算法的题有十件商品,设计一个算法,计算其平均价(文字表达)谢谢!
求助两道化学问题,最好有详细的解答过程,在下谢谢各位高手大侠了!
高中生物题求助,在线等,急,谢谢!
我的英文名叫 Kevin,请各位大侠设计一个好看一点的英语连笔字.
各位大侠帮我翻一个公司名称(英语) 点触设计
各位大侠请问怎么设计一个烤箱电路,需要什么电子元件,