喜欢独处是一种心理疾病吗?应该怎么办?

恩  视而不见 恩 视而不见
回答
  • Mr.   Wang 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:29:35

    手里面空空的,可能感觉不自在,虽然说不出来为什么,但是拿着会更好。这个可能是很久了,养成的一个习惯

  • 喜欢背影的是什么心理?

    提问时间: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,指的是在你对某个人产生好感后,当他对你有同样感情后,你就会讨厌这种感情,甚至不再喜欢他。网上看...

精品推荐

友情链接

友链互换QQ:

谷财 备案编号:蜀ICP备11019336号-3商务合作:235-677-2621

Copyright 2009-2020 Chengdu Sanzilewan Technology Co.,Ltd all rights reserve

抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活