离开停车场

我要开发同款
陈汐2023年06月24日
130阅读
所属分类离开停车场

作品详情

你被困在一个多层停车场。您的任务是仅使用楼梯离开停车场。出口总是在一楼的右下角。
创建一个采用矩阵的函数,其中:
• 0 表示免费停车位。
• 1 表示楼梯。
• 2 表示您的起始位置,可以在停车场的任何一层。
• 出口总是在一楼的右下角。
• 您必须使用楼梯 1 才能下一层。
• 除了一楼,每一层只有一个楼梯,一楼没有任何楼梯。
请你设计并返回一个最快离开停车场的字符串。

先定义整型c, a, b, s。其中c表示地下车库的层数,a, b表示人在地下车库的位置,s用来记录连续楼梯的次数。然后有用户输入层数c,然后动态定义一个二维数组,int(*ch)[5] = new int[c][5],行数为c,列数为5。
用两个for循环进行赋值,同时判断输入的值是否是2,如果是,就将此时二维数组的元素的行和列分别赋值给a, b。
然后用while循环,将一层一层的一维数组传递给函数fun1()。fun1()函数的作用是找到楼梯,并且下一楼,在fun1()函数中,首先定义一个整型x,然后用for循环遍历传递上来的一维数组,当找到元素1的时候,将下标赋值给x,然后用x与b相比,如果x比b小,则楼梯在人的左边,人要往左走(b-x)步,输出L(b-x),反之则向右走,同时将x赋值给b。
当一次fun1()函数执行完以后i,在往下执行while循环,这个循环的目的是判断楼梯是否相连,如果楼梯是连载一起的,就执行s++,a++,如果不是,就输出D(s),表示下的层数,然后跳出,同时重置s = 1.a++。
当(a != (c - 1))表示人已经下到最后一层,就退出循环,然后判断,如果b == 4表示人已经在门口了,如果b!=4,则人还需要向左走L(4-b)步
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论