P8623 [蓝桥杯 2015 省 B] 移动距离
算出两个数字的坐标,然后返回曼哈顿距离。
#include <iostream> #include <stdio.h> #include <algorithm> #include <cstring> #include <cmath> using namespace std; int w, m, n, x_m, y_m, x_n, y_n; void get(int p, int &x, int &y) { x = (p + w - 1) / w; int tmp = p % w; int cnt = (tmp) ? tmp : w; if(x & 1) y = cnt; else y = w - cnt + 1; } int main() { cin >> w >> m >> n; get(m, x_m, y_m); get(n, x_n, y_n); cout << abs(x_m - x_n) + abs(y_m - y_n); system("pause"); return 0; }
本文作者:Gold_stein
本文链接:https://www.cnblogs.com/smartljy/p/17879063.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步