题解 | #无人驾驶#

题目考点:曼哈顿距离(搜索算法里面会用到) 题目内容:判断能否恰好使用 m 步从( a, b ) 走到 ( 0 , 0 ); 题目分析:在坐标轴上从一个点走到另一个点需要的最短距离叫做曼哈顿距离,即distance = |x1 - x2| + |y1 - y2|; ; 而判断从A点恰好用m步走到B点时,有两种情况: @Zzz、 第一种:m = distance,即走了曼哈顿距离恰好到达B点,对应上图绿色路线,需要3步; 第二种:m > distance 时,需要判断能否走到,观察上图黄色(7步)和蓝色(11步)路线,即可发现若走到B上下左右四个格子时,若剩余奇数步(比如蓝色走到8的时候离11步用完还剩下3步),则可以“绕路”,花完剩下的步数;相反若m 为 10, 走到蓝色路线8步的时候还剩下两步,则不论怎么绕都走不到B点 因此有以下解法:

#include<iostream>
#include<algorithm>

using namespace std;

int main()
{
    int a, b, m;
    scanf("%d%d%d", &amp;a, &amp;b, &amp;m);
    
    if((m - (a + b)) % 2 == 0 &amp;&amp; m &gt;= abs(a) + abs(b))
        puts("Yes");
    else puts("No"); //若走完曼哈顿距离后还剩下奇数数步则可以到达
                     //相当于走到B之后又绕了一圈再回来
    return 0;
}
```</algorithm></iostream>
题解专栏 文章被收录于专栏

希望不断进步

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

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