解题思路:
把蚂蚁的行动、动作当作对象,创建关于mayi()的的对象,并对蚂蚁行动关于黑格、白格等转向设置函数point(self),在主函数中对行走后原位置黑白格取反
注意事项:
此代码中,每个格子的参数类型为str,如果是int型,会导致一直导致答案错误,还有在使用map_1时,与map函数很类似,可能导致程序出错
参考代码
class mayi(): def __init__(self,head,x,y): self.head=head self.x=x self.y=y def point(self): p=self.head i=self.x j=self.y if p=='L': if map_1[i][j]=='1': self.x=i-1 self.head='U' else: self.x=i+1 self.head='D' if p=='U': if map_1[i][j]=='1': self.y=j+1 self.head='R' else: self.y=j-1 self.head='L' if p=='R': if map_1[i][j]=='1': self.x=i+1 self.head='D' else: self.x=i-1 self.head='U' if p=='D': if map_1[i][j]=='1': self.y=j-1 self.head='L' else: self.y=j+1 self.head='R' m, n = map(int, input().split()) map_1 = [] for i in range(0, m): map_1.append(list(input().split())) x,y,S,k=input().split() x=int(x) y=int(y) k=int(k) yi_1=mayi(S,x,y) for w in range(0,k): i=yi_1.x j=yi_1.y yi_1.point() if map_1[i][j]=='1': map_1[i][j] = '0' elif map_1[i][j]=='0': map_1[i][j] = '1' print(yi_1.x,yi_1.y)
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:545 |
sizeof的大作用 (C语言代码)浏览:1452 |
矩阵加法 (C语言代码)浏览:1723 |
有关字符,字符串的输入输出函数说明浏览:479 |
C语言训练-自守数问题 (C语言代码)浏览:748 |
JAM计数法 (C语言代码)浏览:671 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:622 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:699 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:514 |