UVa Problem 10189 Minesweeper (扫雷)

来源:互联网 发布:太阳辐射强度数据查询 编辑:程序博客网 时间:2024/04/29 14:26
#include<iostream>using namespace std;int input[105][105];char output[105][105];int direction[8][8]={{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0}};int main(){int n,m;char ch;int num=0;while(cin>>n>>m&&m&&n){num++;//此处是个小技巧,保证最后一行不输出回车,不然算作Presentat Error!if(num!=1)cout<<endl;for(int i=0;i<n;i++)for(int j=0;j<m;j++){cin>>ch;if(ch=='*')input[i][j]=1;elseinput[i][j]=0;}for(int i=0;i<n;++i)for(int j=0;j<m;++j){if(input[i][j]==1)output[i][j]='*';else{int count=0;for(int k=0;k<8;++k){if(i+direction[k][0]>=0&&j+direction[k][1]>=0&&i+direction[k][0]<n&&j+direction[k][1]<m&&input[i+direction[k][0]][j+direction[k][1]]==1)count++;}output[i][j]=count+'0';}}cout<<"Field #"<<num<<":"<<endl;for(int i=0;i<n;i++){for(int j=0;j<m;j++)cout<<output[i][j];cout<<endl;}}return 0;}

原创粉丝点击