题解 | #无人驾驶#

题目考点:曼哈顿距离(搜索算法里面会用到) 题目内容:判断能否恰好使用 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>
题解专栏 文章被收录于专栏

希望不断进步

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 12:05
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

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