zoukankan      html  css  js  c++  java
  • 2110: 扫雷

    http://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=2110

    2110: 扫雷

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 88  Solved: 36
    [Submit][Status][Web Board]

    Description

     扫雷游戏你一定玩过吧!现在给你若干个n×m的地雷阵,请你计算出每个矩阵中每个单元格相邻单元格内地雷的个数,每个单元格最多有8个相邻的单元格。 0<n,m<=100

    Input

    输入包含若干个矩阵,对于每个矩阵,第一行包含两个整数n和m,分别表示这个矩阵的行数和列数。接下来n行每行包含m个字符。安全区域用‘.’表示,有地雷区域用'*'表示。当n=m=0时输入结束。

    Output

    对于第i个矩阵,首先在单独的一行里打印序号:“Field #i:”,接下来的n行中,读入的'.'应被该位置周围的地雷数所代替。输出的每两个矩阵必须用一个空行隔开。

    Sample Input

    4 4 *... .... .*.. .... 3 5 **... ..... .*... 0 0

    Sample Output

    Field #1: *100 2210 1*10 1110 Field #2: **100 33200 1*100

    HINT

     (注意两个矩阵之间应该有一个空行,由于oj的格式化这里不能显示出来)

    数据规模和约定

    0<n,m<=100

    Source

    算法提高

    【代码】:

    #include <iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    
    int main()
    {
        int n,m;
        int cha[8][2]={{0,-1},{0,1},{-1,0},{1,0},{-1,-1},{-1,1},{1,-1},{1,1}};
        char a[105][105];
        int cas=1;
        while(~scanf("%d%d",&n,&m),n&&m)
        {
            memset(a,0,sizeof(a));
            for(int i=0;i<n;i++)
                scanf("%s",a[i]);
            for(int i=0;i<n;i++)
            {
            for(int j=0;j<m;j++)
            {
                if(a[i][j] != '*')
                {
                    a[i][j]='0'; //不是地雷的标记为0
                    for(int k=0;k<8;k++) //八方向搜索
                    {
                        int x=i+cha[k][0];
                        int y=j+cha[k][1];
                        if(a[x][y]=='*') //8方向只要有为雷
                            a[i][j]++; //该坐标雷数++
                    }
                }
            }
            }
            printf("Field #%d:
    ",cas++);
            for(int i=0;i<n;i++)
                printf("%s
    ",a[i]);
                cout<<endl;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    01背包
    manacher马拉车算法
    盒子放球的DP
    Children’s Queue
    抽象类_作为接口
    斯特林数
    欧拉路HDU3018
    2019 SDN上机第三次作业
    第05组 Alpha冲刺(2/4)
    Alpha冲刺(1/4)
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8786572.html
Copyright © 2011-2022 走看看