zoukankan      html  css  js  c++  java
  • hihocoder刷题 扫雷游戏

    题目1 : 扫雷游戏

    时间限制:10000ms
    单点时限:1000ms
    内存限制:256MB

    描述

    给定一个N × N的方格矩阵,其中每个格子或者是'*',表示该位置有一个地雷;或者是'.',表示该位置没有地雷:
    *..*
    ..*.
    ....
    ****

    现在小Hi希望你对于每一个'.',计算它周围8个方格中一共有多少颗地雷。并且用计算出的地雷数替换原来的'.':

    *22*
    12*2
    2443
    ****

    输入

    第一行包含一个整数N,代表矩阵的大小。 (1 ≤ N ≤ 100)  

    以下是一个N × N的矩阵,由字符'.'和'*'组成。

    输出

    一个N × N的矩阵,表示答案。

    样例输入

    4  
    *..*  
    ..*.  
    ....
    ****

    样例输出

    *22*    
    12*2  
    2443
    ****
    def main():
        number=input()
        li=[]
        for i in range(int(number)):
            li.append(list(input()))
    
        for i in range(int(number)):
            for j in range(int(number)):
                temp = 0
                if li[i][j]=='.':
                    if i-1>=0 and j-1>=0:
                        if li[i-1][j-1]=='*':
                            temp+=1
                    if i-1>=0:
                        if li[i-1][j]=='*':
                            temp+=1
                    if i-1>=0 and j+1<=int(number)-1:
                        if li[i-1][j+1]=='*':
                            temp+=1
                    if j-1>=0:
                        if li[i][j-1]=='*':
                            temp += 1
                    if j+1<=int(number)-1:
                        if li[i][j+1]=='*':
                            temp += 1
                    if i+1<=int(number)-1 and j-1>=0:
                        if li[i+1][j-1]=='*':
                            temp += 1
                    if i+1<=int(number)-1:
                        if li[i+1][j]=='*':
                            temp+=1
                    if i+1<=int(number)-1 and j+1<=int(number)-1:
                        if li[i+1][j+1]=='*':
                            temp+=1
                    li[i][j]=temp
        for i in li:
            for j in i:
                print(j,end="")
            print()
    if __name__ == '__main__':
        main()
    py3code
  • 相关阅读:
    Centos7 JDK8安装配置
    select2
    docker 删除多个退出的容器
    redis 批量删除多个key
    Dockerfile 文件命令
    Docker部署go示例
    php 导入 excel 文件
    rabbitmq安装
    rabbitmq之php客户端使用实例
    k8s
  • 原文地址:https://www.cnblogs.com/qflyue/p/8283356.html
Copyright © 2011-2022 走看看