原题链接:蓝桥杯2014年第五届真题-兰顿蚂蚁
解题思路:
注意事项:
参考代码:
row, col = map(int, input().split())
map_ = [list(map(int, input().split()))[:col] for _ in range(row)]
x, y, head, step = input().split()
x, y, step = map(int, (x, y, step))
dic = {'U': {"L": [0, -1], "R": [0, 1]},
'D': {"L": [0, 1], "R": [0, -1]},
'L': {"L": [1, 0], "R": [-1, 0]},
'R': {"L": [-1, 0], "R": [1, 0]}}
new_head = {"UL": "L", "UR": "R", "DL": "R", "DR": "L",
"LL": "D", "LR": "U", "RL": "U", "RR": "D"}
for _ in range(step): # white: 0 -> "L"
if map_[x][y] == 1:
map_[x][y] = 0
x = x + dic[head]["R"][0]
y = y + dic[head]["R"][1]
head = new_head[head + "R"]
else:
map_[x][y] = 1
x = x + dic[head]["L"][0]
y = y + dic[head]["L"][1]
head = new_head[head + "L"]
print(x, y)0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复