解题思路

注意事项:

参考代码:

con=1
while True:
   a, b = map(int, input().strip().split())
   if a == 0 and b == 0:
       break
   else:
       ls = []
       for i in range(a):
           ls1 = []
           n = input()
           for j in n:
               ls1.append(j)
           ls.append(ls1)
   for i in range(a):
       for j in range(b):
           if(ls[i][j]=="*"):
               ls[i][j]="*"
           else:
               ls[i][j]=0
   # print(ls)
   for i in range(a):
       for j in range(b):
           if(ls[i][j]=="*"):
               continue
           else:
               if(i-1>=0 and j-1>=0 and ls[i-1][j-1]=="*"):
                   ls[i][j]+=1  #左上
               if(i-1>=0 and ls[i-1][j]=="*"):
                   ls[i][j]+=1  #上
               if(i-1>=0 and j+1<=b-1 and ls[i-1][j+1]=="*"):
                   ls[i][j]+=1  #右上
               if(j-1>=0 and ls[i][j-1]=="*"):
                   ls[i][j]+=1  #左
               if(j+1<=b-1 and ls[i][j+1]=="*"):
                   ls[i][j]+=1  #右
               if(i+1<=a-1 and j-1>=0 and ls[i+1][j-1]=="*"):
                   ls[i][j]+=1  #左下
               if(i+1<=a-1 and ls[i+1][j]=="*"):
                   ls[i][j]+=1  #下
               if(i+1<=a-1 and j+1<=b-1 and ls[i+1][j+1]):
                   ls[i][j]+=1  #右下

   # print(ls)
   print("Field #{}:".format(con))
   for i in range(a):
       for j in range(b):
           print(ls[i][j],end='')
       print()
   print()
   con+=1


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论