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 10340 all in all
输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串是。
37 0
|
C++
UVA 之10010 - Where's Waldorf?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/24863879 ...
710 0
|
机器学习/深度学习 人工智能
uva 10870 Recurrences
点击打开uva 10870 思路:构造矩阵+矩阵快速幂 分析: 1 题目给定f(n)的表达式 f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n -3) + .
733 0
uva 1203 Argus
点击打开链接uva 1203 思路: 优先队列 分析: 1 题目要求前k个事件的编号,我们利用优先队列来维护即可 2 优先队列保存的是一个struct,因此我们需要重载 s.
1295 0
uva 1394 - And Then There Was One
点击打开链接uva 1394 思路: 数学递推 分析: 1 题目是一道变形的约瑟夫环变形问题 2 网上看到一篇很好的数学递推法 问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。
991 0
|
人工智能
uva 11300 - Spreading the Wealth
点击打开链接uva 11300 思路:数学分析+贪心 分析: 1 首先最终每个人的金币数量可以计算出来,它等于金币总数除以人数n。接下来我们用m来表示每人的最终的金币数 2 现在假设编号为i的人初始化为Ai枚金币,Xi表示第i个人给第i-1个人Xi枚金币,对于第一个人来说他是给第n个人。
861 0
uva 1388 - Graveyard
点击打开链接uva1388 思路:数学 分析: 1 我们把原先的n个墓碑看成是园内的正n变形,现在的n+m个墓碑看成是园内的正n+m变形。那么通过画图我们可以知道当这个两个正多边形有一个点重合的时候移动的总距离最小 2 那么我们把这个圆进...
1014 0
|
人工智能
uva10382 Watering Grass
题意:有一块草坪,长为l,宽为w,再起中心线的不同位置处装有n个点状的喷水装置。每个喷水装置i可以将以它为中心,半径为ri的圆形区域润湿,请选择尽量少的喷水装置,把整个草坪全部润湿。 分析:对于直径小于宽度的喷水装置其实可以忽略,剩下的问题转换成了最小区间覆盖问题,即:用最少数量的区间去覆盖给定的...
817 0