解题思路:

注意事项:

参考代码:

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.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论