原题链接:蓝桥杯2015年第六届真题-移动距离
解题思路:
1.判断所在行,方法:楼房号对宽度向上取余;
2.判断所在列,方法:先用楼房号对宽度取余得到该行编号(若为0,手动改为宽度w,即最后一个编号);然后判断改行是奇数还是偶数行,若为偶数行,修改编号。
注意事项:
参考代码:
from math import ceil def test(num): global w res = w if num % w == 0 else num % w res = w - res + 1 if not (ceil(num / w) & 1) else res # row check return res w, m, n = map(int, input().split()) a, b = ceil(m / w), ceil(n / w) c, d = test(m), test(n) print(abs(a - b) + abs(c - d))
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复