星星星 25 6月笔试题

岗位android系统优化

在宇宙之中存在虫洞,宇宙飞船在虫洞中航行时经历的时间流速比一般空间更慢,因此进入虫洞可以进行快速的旅行。现在在一个二维空间中,你需要设计一个程序,能够计算出在当前空间内的某一坐标点旅行至另一坐标点所需的时间。宇宙飞船只能在水平与垂直方向上运动,且在一般空间内,每单位距离移动需要1单位时间。

一般而言,若不考虑虫洞,从点(x_1,y_1)移动至点(x_2,y_2)所需的时间为

TIME=|x_2-x_1|+|y_2-y_1|

输入:
1. 一行一个整数,表示总共需要检测多少个情况
2. 一行一个整数,表示这一个情况中需要考虑多少个虫洞
3. 一行4个整数,数字之间以空格分隔,分别表示:宇宙飞船初始位置的x坐标、初始位置的y坐标、目的地的x坐标、目的地的y坐标
4. 若需要考虑虫洞,一行5个整数,数字之间以空格分隔,分别表示:该虫洞的一个入口x坐标、y坐标、另一个入口的x坐标、y坐标、从当前虫洞的一个入口旅行到另一个入口所需的时间
5. 若需要考虑多个虫洞,重复4
6. 若需要考虑多个情况,重复2-5

输入限制:
1. 情况数T满足,00

输入示例:
4  // 需要考虑3种情况
0  // 情况1,0个虫洞
0 0 60 60  // 初始位置(0,0),目的地(60,60)
1  // 情况2,1个虫洞
0 0 5 5  // 初始位置(0,0),目的地(5,5)
1 1 4 4 2  // 虫洞入口1坐标(1,1),入口2坐标(4,4),旅行时间花费2单位
1  // 情况3,1个虫洞
0 0 10 2  // 初始位置(0,0),目的地(10,2)
1 1 4 4 3  // 虫洞入口1坐标(1,1),入口2坐标(4,4),旅行时间花费3单位
3  // 情况4,3个虫洞
500 500 1000 1000  // 初始位置(500,500),目的地(1000,1000)
501 501 999 999 1000  // 虫洞入口1坐标(501,501),入口2坐标(999,999),旅行时间花费1000单位
1 1 499 499 100  // 虫洞入口1坐标(1,1),入口2坐标(499,499),旅行时间花费100单位
999 999 0 0 200  // 虫洞入口1坐标(999,999),入口2坐标(0,0),旅行时间花费200单位

输出示例:
#1 120
# 2 6
#3 12
# 4 306

解释:(作者注:三星系统上没有给出)
1. 情况一中,没有虫洞,因此直接计算时间
2. 情况二中,有一个虫洞,且通过虫洞的时间相比直接移动更快,因此时间为2+2+2=6
3. 情况三中,有一个虫洞,但是通过虫洞后的总计时长相比不通过慢,为2+3+8=13,因此时间为12
4. 情况四中,有三个虫洞,但虫洞一所花费的时间太长,不选择通过,而先通过虫洞二,再通过虫洞三的时间耗费最短,为2+100+2+200+2

判题限制:C、C++、Java 1000ms,Python 15s。内存限制128MB,栈大小限制1MB。50case需全部通过。

#找工作的破防时刻# #牛客创作赏金赛# #笔试# #笔试客户端# #笔试真题# #笔试挂#
全部评论
哈哈哈上周刚做了这道
点赞 回复 分享
发布于 07-04 10:56 广东
大佬这是pro测试吗
点赞 回复 分享
发布于 06-30 09:35 北京

相关推荐

头像
10-13 18:10
已编辑
东南大学 C++
。收拾收拾心情下一家吧————————————————10.12更新上面不知道怎么的,每次在手机上编辑都会只有最后一行才会显示。原本不想写凉经的,太伤感情了,但过了一天想了想,凉经的拿起来好好整理,就像象棋一样,你进步最快的时候不是你赢棋的时候,而是在输棋的时候。那废话不多说,就做个复盘吧。一面:1,经典自我介绍2,项目盘问,没啥好说的,感觉问的不是很多3,八股问的比较奇怪,他会深挖性地问一些,比如,我知道MMU,那你知不知道QMMU(记得是这个,总之就是MMU前面加一个字母)4,知不知道slab内存分配器->这个我清楚5,知不知道排序算法,排序算法一般怎么用6,写一道力扣的,最长回文子串反问:1,工作内容2,工作强度3,关于友商的问题->后面这个问题问HR去了,和中兴有关,数通这个行业和友商相关的不要提,这个行业和别的行业不同,别的行业干同一行的都是竞争关系,数通这个行业的不同企业的关系比较微妙。特别细节的问题我确实不知道,但一面没挂我。接下来是我被挂的二面,先说说我挂在哪里,技术性问题我应该没啥问题,主要是一些解决问题思路上的回答,一方面是这方面我准备的不多,另一方面是这个面试写的是“专业面试二面”,但是感觉问的问题都是一些主管面/综合面才会问的问题,就是不问技术问方法论。我以前形成的思维定式就是专业面会就是会,不会就直说不会,但事实上如果问到方法论性质的问题的话得扯一下皮,不能按照上面这个模式。刚到位置上就看到面试官叹了一口气,有一些不详的预感。我是下午1点45左右面的。1,经典自我介绍2,你是怎么完成这个项目的,分成几个步骤。我大致说了一下。你有没有觉得你的步骤里面缺了一些什么,(这里已经在引导我往他想的那个方向走了),比如你一个人的能力永远是不够的,,,我们平时会有一些组内的会议来沟通我们的所思所想。。。。3,你在项目中遇到的最困难的地方在什么方面4,说一下你知道的TCP/IP协议网络模型中的网络层有关的协议......5,接着4问,你觉得现在的socket有什么样的缺点,有什么样的优化方向?6,中间手撕了一道很简单的快慢指针的问题。大概是在链表的倒数第N个位置插入一个节点。————————————————————————————————————10.13晚更新补充一下一面说的一些奇怪的概念:1,提到了RPC2,提到了fu(第四声)拷贝,我当时说我只知道零拷贝,知道mmap,然后他说mmap是其中的一种方式,然后他问我知不知道DPDK,我说不知道,他说这个是一个高性能的拷贝方式3,MMU这个前面加了一个什么字母我这里没记,别问我了4,后面还提到了LTU,VFIO,孩子真的不会。
走呀走:华子二面可能会有场景题的,是有些开放性的问题了
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务