问题说明:
房间内有一只猴子,一个箱子和一个挂在天花板上的香蕉。三者的位置如下图所示:
初始状态:三者在输入的初始位置,猴子手上无香蕉,猴子不在箱子上。
目标状态:三者均在香蕉对应的位置,猴子手上有香蕉,且在箱子上。
实现步骤:猴子走到箱子处猴子将箱子推到香蕉处猴子爬上箱子猴子摘香蕉
程序内容: 本程序主要实现猴子摘香蕉的过程,即从初始状态到目标状态。程序运行后,根据用户输入 的三者的位置,按照实现步骤更新每一过程后的状态变量,并将过程输出。
本程序使用以下函数:
main():主函数
go_to_box():猴子走到箱子处
move_box():猴子搬箱子
climb_box():猴子爬箱子
get_banana():猴子摘香蕉
本程序使用C++实现:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
/*
File name:monkey_get_banana
Date:11.15
*/
//用一个结构体变量记录某一状态下猴子、箱子、香蕉的位置,以及猴子是否在箱子上、是否摘得香蕉
struct stack{
string MONKEY;
string BANANA;
string BOX;
int HAVE; //1表示摘得,0表示没有
int ISON; //1表示猴子在箱子

这是一个关于人工智能的编程实例,用C++编写了猴子如何通过推动箱子到达香蕉并摘取香蕉的程序。程序包括四个关键步骤:走到箱子、搬动箱子、爬上箱子和摘取香蕉。用户输入初始位置,程序会更新状态并展示过程。
&spm=1001.2101.3001.5002&articleId=123300064&d=1&t=3&u=dd32372c97a5424caf3d1e69af687fab)
1万+

被折叠的 条评论
为什么被折叠?



