Liam


私信TA

用户名:Merit

访问量:16139

签 名:

不弥于空想,不骜于虚声

等  级
排  名 167
经  验 6819
参赛次数 17
文章发表 34
年  龄 22
在职情况 在职
学  校 南理工泰科院
专  业 计算机科学与技术

  自我简介:

热爱生活!

解题思路:就是扫雷游戏规则

注意事项:一定要注意格式,一定,一定!!!!!

参考代码:

#include<iostream>

#include<cstdio>

using namespace std;

int a[100][100];

char b[100][100];

int n,m,t=1;

int index[8][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};


void check(int x1,int y1)

{

for(int i=0;i<8;i++)

{

int x2=x1+index[i][0];

int y2=y1+index[i][1];

if(x2>n || x2<0 || y2>m || y2<0 || b[x2][y2]=='*')

{

continue;

}

else

{

a[x2][y2]=a[x2][y2]+1;

}

}

}

int main()

{

while(scanf("%d %d",&n,&m) && (n!=0 || m!=0))

{

for(int i=0;i<n;i++)

{

for(int j=0;j<m;j++)

{

cin>>b[i][j];

if(b[i][j]=='*') a[i][j]=-1;

else a[i][j]=0;

}

}

for(int i=0;i<n;i++)

{

for(int j=0;j<m;j++)

{

if(b[i][j]=='*')

{

check(i,j);

}

}

}

cout<<"Field"<<" "<<"#"<<t<<":"<<endl;

for(int i=0;i<n;i++)

{

for(int j=0;j<m;j++)

{

if(a[i][j]==-1) printf("*");

else printf("%d",a[i][j]);

}

printf("\n");

}

printf("\n");

t++;

    }

return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区