原题链接:Minesweeper
解题思路:
注意事项:
参考代码:
#include<iostream> #include<string.h> using namespace std; typedef struct dr{ int x; int y; }Dr; const Dr df[8]={-1,-1,0,-1,1,-1,-1,0,1,0,-1,1,0,1,1,1}; char mark[105][105]; char field[105][105]; char sweep(int x,int y,char f[][105]){ int i,sum=48; if(f[x][y]=='*') return '*'; for(i=0;i<8;i++) if(f[x+df[i].x][y+df[i].y]=='*') sum++; return (char)sum; } int main(){ int l,w; int i,j,num=0; while(1){ cin>>l>>w; if(l==0&&w==0) break; memset(mark,0,sizeof(mark)); num++; for(i=1;i<=l;i++) for(j=1;j<=w;j++) cin>>field[i][j]; //输入field for(i=1;i<=l;i++) //扫描求值 for(j=1;j<=w;j++) mark[i][j]=sweep(i,j,field); cout<<"Field #"<<num<<":"<<endl; for(i=1;i<=l;i++){ for(j=1;j<=w;j++) cout<<mark[i][j]; cout<<endl; } cout<<endl; } return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复