思路,其实没什么思路,就是按照他说的进行代码描述,利用函数分别表述在黑块和白块时候的操作方法
然后将方位用1…4进行替代
其实我在数据的输入上出了一些问题,我整理在我另外一篇文章里面了
https://blog.csdn.net/m0_53347750/article/details/122568356
代码
global board
global toward
global x
global y
def black():
global board
global toward
global x
global y
if (toward == 4):
toward = 1
else:
toward = toward + 1
board[x][y] = 0
if (toward == 2):
y = y + 1
elif (toward == 4):
y = y - 1
elif (toward == 1):
x = x - 1
else:
x = x + 1
def white():
global board
global toward
global x
global y
if (toward == 1):
toward = 4
else:
toward = toward - 1
board[x][y] = 1
if (toward == 2):
y = y + 1
elif (toward == 4):
y = y - 1
elif (toward == 1):
x = x - 1
else:
x = x + 1
# main
m,n = map(int,input().split())
board = []
for i in range(m):
board.append(list(map(int,input().strip().split())))
x,y,s,k=map(str,input().split())
x,y,k=int(x),int(y),int(k)
if (s == 'U'):
toward = 1
elif (s == 'R'):
toward = 2
elif (s == 'D'):
toward = 3
elif (s == 'L'):
toward = 4
for i in range(k):
if (board[x][y] == 0):
white()
else:
black()
print(x, y)