解题思路:
把蚂蚁的行动、动作当作对象,创建关于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二级辅导-统计字符 (C语言代码)浏览:533 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:689 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:490 |
C语言训练-最大数问题 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1514 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:889 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1296 |
三角形 (C++代码)递推浏览:755 |
简单的a+b (C语言代码)浏览:808 |
GC的苦恼 (C语言代码)浏览:618 |