温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何编写代码实现移动距离效果

发布时间:2021-10-14 10:48:29 来源:亿速云 阅读:131 作者:iii 栏目:编程语言

这篇文章主要介绍“如何编写代码实现移动距离效果”,在日常操作中,相信很多人在如何编写代码实现移动距离效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何编写代码实现移动距离效果”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

曼哈顿距离——折线距离;
欧几里德距离——直线距离;
蛇形存储的二维数组,行号用/宽度,列号用%宽度并在偶数行加特判。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>

using namespace std;

int w,m,n;

int main(){
    cin>>w>>m>>n;
    //为了免除整除的特判,将每个楼号数都减1
    m--,n--;
    //行号
    int x1=m/w,x2=n/w;
    //列号(蛇形————偶数行特判)
    int y1=m%w,y2=n%w;
    if(x1%2) y1=w-1-y1;
    if(x2%2) y2=w-1-y2;
    cout<< abs(x1-x2)+abs(y1-y2)<<endl;
    return 0;
}

到此,关于“如何编写代码实现移动距离效果”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI