uva 10189 Minesweeper

简介: /* Minesweeper WA了n次才知道uva格式错了也返回wa没有pe啊尼玛*/#include<iostream>#include<stdio.h>#include<string.h>using namespace std;char a[105][105];int main(){ int i,j,n,m,
/*
   	Minesweeper
   	WA了n次才知道uva格式错了也返回wa没有pe啊尼玛
*/
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
char a[105][105];
int main()
{
    int i,j,n,m,x=0;
   //freopen("./pcio/110102.inp","r",stdin);
    while(scanf("%d%d",&n,&m),m+n)
    {
        memset(a,'.',105*105);
        getchar();
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=m; j++)
                scanf("%c",&a[i][j]);
            getchar();
        }
        for(i=1; i<=n; i++)
            for(j=1; j<=m; j++)
            {
                int num=0;
                if(a[i][j]=='.')
                {
                    if(a[i+1][j]=='*')
                        num++;
                    if(a[i-1][j]=='*')
                        num++;
                    if(a[i][j+1]=='*')
                        num++;
                    if(a[i][j-1]=='*')
                        num++;
                    if(a[i+1][j+1]=='*')
                        num++;
                    if(a[i-1][j-1]=='*')
                        num++;
                    if(a[i-1][j+1]=='*')
                        num++;
                    if(a[i+1][j-1]=='*')
                        num++;
                    a[i][j]=num+'0';
                }
            }
        if(x>0)
            puts("");
        printf("Field #%d:\n",++x);
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=m; j++)
                printf("%c",a[i][j]);
            puts("");
        }
    }
    return 0;
}

目录
相关文章
|
机器学习/深度学习
|
算法
UVA题目分类
题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics 10300 - Ecological Premium 458 - The Decoder 494...
1570 0
uva 11806 - Cheerleaders
点击打开链接 题意:在一个n行m列的矩形里面放k个相同的石子,要求第一行,最后一行,第一列,最后一列都要有石子。问有几种方法? 思路: 1 如果题目没有要求“第一行,最后一行,第一列,最后一列都要有石子”,那么答案就是C[n*m][k],我们用C[i][j]表示i个里面选择j个的组合数。
823 0
|
机器学习/深度学习
uva 11538 Chess Queen
点击打开链接 题意:给定一个n*m的矩阵,问有多少种方法放置两个相互攻击的皇后?规定在同一行同一列和同对角线的能够相互攻击 思路: 1 先考虑同一行的情况,n行就有n种情况,每一行有m*(m-1)种,总的是n*m*(m-1); 2 考虑同...
819 0
|
机器学习/深度学习 人工智能
uva 10870 Recurrences
点击打开uva 10870 思路:构造矩阵+矩阵快速幂 分析: 1 题目给定f(n)的表达式 f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n -3) + .
735 0
uva 1203 Argus
点击打开链接uva 1203 思路: 优先队列 分析: 1 题目要求前k个事件的编号,我们利用优先队列来维护即可 2 优先队列保存的是一个struct,因此我们需要重载 s.
1296 0
uva 1160 X-Plosives
点击打开链接uva 1160 思路: 并查集 分析: 1 看懂题目之和就是切菜了 代码: #include #include #include #include using namespace std; const int MAXN...
772 0
uva 11627 Slalom
点击打开链接uva 11627 思路:二分答案 分析: 1 给定S个滑雪板的速度,问是否可以找到一个滑板使得通过所有的门的时间最少,如果找不到输出IMPOSSIBLE 2 很明显的二分题目,我们知道了二分那应该怎么判断是否可以通过所有...
1067 0