问喜欢独处是一种心理疾病吗?应该怎么办?
-
Mr. Wang
题目有问题:如何指定迷宫的起点和终点。我这里假设迷宫某个边界位置是起点,(x,y)是否是终点要用gotgoal(x,y)函数判断。核心函数
void dfs(char*m,int height,int width,int x,int y,int now_dir)
这里m是一个一维数组,表示迷宫。格点x,y的信息是m[y*width+x]
比如3行4列的迷宫
在m里就是#.#,每一行紧接着上一行。height 迷宫高度
width 迷宫宽度
x是当前位置横坐标。右边是正方向。y是当前位置纵坐标。下方是正方向。now_dir是是当前的方向。你需要给上下左右4个方向规定一个编号。比如
int dir_l**t[4][2]={
{-1,0},/地图左
{0,-1},/地图上
{1,0},/地图右
{0,1}/地图下
};第一个数表示恒坐标变化量,第二个数表示纵坐标变化量那么对于当前方向now_dir,“摸着右手边的墙”的探索方向编号依次是(可以参照上面dir_l**t的注释来理解)
(now_dir+1)%4 当前方向右侧
(now_dir+0)%4 当前方向
(now_dir-1+4)%4 当前方向左侧
(now_dir-2+4)%4 当前方向反方向(回头)。(这里要+4是为了防止now_dir减去数字后变成负数,负数除以4的余数还是负数)。使用dfs的方法:
先将地图信息保存到char数组里,作为dfs函数第一参数
将迷宫入口横坐标保存到x参数,纵坐标保存到y参数
将刚进入迷宫的方向的编号(dir_l**t的第一下标)保存到now_dir
dfs的基本实现(伪代码)
void dfs(char*m,int height,int width,int x,int y,int now_dir)
{
int turn=0;int new_dir;int new_x;int new_y;if(gotgoal(x,y))/如果当前位置是终点
return;m[y*width+x]='x';占据当前位置
printmap(m,height,width);打印地图当前状态
for(turn=1;2;turn-)/依次循环4个方向:右、前、左、回头
{
new_dir=(now_dir+turn+4)%4;计算新方向的编号
new_x=x+dir_l**t[new_dir][0];new_y=y+dir_l**t[new_dir][1];计算出“如果要走新方向,则下一步的位置”
if(new_x|new_x>=width)/如果走出左右边界
continue;if(new_y|new_y>=height)/如果走出上下边界
continue;if('#'=m[new_y*width+new_x])/如果下一步是是墙
continue;dfs(m,height,width,new_x,new_y,new_dir);}
return;}
注意:
这个问题由于不涉及最短路,而且每走一步都算走过,包括走进了死胡同。因此这个问题完全不需要用递归,实际上程序也不可能回溯,因为每一步都是对的。直接用for或while循环就行了。用递归,当路线比较长时,可能超过操作系统限制而报错。对于有环路的迷宫,程序会死循环。如果要判断出死循环的情况,需要一个额外的数组int m_arrived[][4],保存每个位置的每个方向是否走过。一开始都是0,走过m[i]且方向是dir的时候,m_arrived[i][dir]=1即可。有不明白的地方请追问。
-
问 不知道自己擅长和喜欢什么工作,应该怎么办?
提问时间:2024-04-28 19:38:28
答 人很多时候不是你喜欢什么就干什么,而是干什么我能生存养家问题。如果生存养家你都不在话下,那你就尝试不同类型的工作,直到你找到喜欢的为止,并发现你的擅长。
-
问 喜欢收集漂亮的玻璃杯,是一种什么心理
提问时间:2024-04-28 23:21:40
答 生活中很多朋友很喜欢收集一些可爱有趣的东西,尤其是杯子,看到漂亮的和一些造型奇特的杯子就走不动路,即使买回来很少用,也会拼命的往家里买,杯子中买的最多的就是玻璃...
-
问 被大叔喜欢是一种什么体验?
提问时间:2024-04-28 05:05:09
答 信息太少了,怎么表态都有把柄理论上讲,大一二十岁也有真感情,也有过得还可以的例子。比如,最近几年好多位四十多甚至五十岁的港台明星,都娶了二十多岁的**姑娘。他们...
-
问 喜欢一个人,游戏里的。我该怎么办?
提问时间:2024-04-28 17:31:01
答 网络上的感情虽然是真的,但是是不切实际的,当你经历过几次之后,就会明白,不管男人女人,在网络上的感情总有一个是假的,可能这个男人现实里已经结婚了,或者已经有恋人...
-
问 喜欢背影的是什么心理?
提问时间:2024-04-28 16:48:37
答 喜欢背影,说明你是一个闷骚的人,内心的想象力很丰富,不想一次性的把问题看个结果出来,想留给自己一点美好的想象,其实从深层次的原因来讲,是源于你内心的自卑,自卑的...
-
问 医生主动加病人的微信是一种什么样的心理?
提问时间:2024-04-28 00:11:45
答 谢谢邀请!说一下我的想法以及我的做法。也算是我的一个经历,分几个阶段吧!第一个阶段,以前刚刚工作的时候,微信还没有流行。我们是留给患者的电话号码的,当然有些重要...
-
问 喜欢上外班的一个女生该怎么办?
提问时间:2024-04-28 14:39:34
答 首先要搞明白“知己知彼,百战不殆”的真正含义,有了这个意识后就是要采取相应的行动。第一,知己,对自己要有明确的认识,深刻认识自己的优势与劣势,扬长避短,必要时候...
-
问 喜欢看《延禧攻略》的人都是一种怎样的心理?
提问时间:2024-04-28 04:34:19
答 哈哈哈哈,首先喜欢延禧攻略的和喜欢抖音的性质差不多,在剧上面找到一种爽感。首先延禧粉喜欢吹得真实(真实你怎么不去看百家讲坛,怎么不看大秦帝国)女主一如既往的玛丽...
-
问 喜欢又讨厌一个人怎么办?
提问时间:2024-04-28 12:04:10
答 呵呵,可能我说的不是太对有一种性取向叫做lithromantic,指的是在你对某个人产生好感后,当他对你有同样感情后,你就会讨厌这种感情,甚至不再喜欢他。网上看...