题解 | #随机序列#

随机序列

https://ac.nowcoder.com/acm/contest/19306/1001

#include<vector>
using namespace std;
int main() {
    int dx[] = {-1, -1, -1, 0, 1, 1, 1, 0};
    int dy[] = {-1, 0, 1, 1, 1, 0, -1, -1};
	int n, m;
	cin >> n >> m;
    vector<vector<char>>result(n,vector<char>(m));
	vector<vector<char>>lei(n, vector<char>(m));
	for (int i = 0; i < n; i++) {
		for (int x = 0; x < m; x++) {
			cin >> lei[i][x];
		}
	}
    for(int i=0;i<n;i++){
        for(int x=0;x<m;x++){
            if(lei[i][x]=='*'){
                result[i][x] = '*';
                
            }else{
                int count = 0;
                for(int k=0;k<8;k++){
                    int ni = i+dx[k],nj = x+dy[k];
                    if(ni>=0&&ni<n&&nj>=0&&nj<m&&lei[ni][nj]=='*'){
                        count++;
                    }
                }
                result[i][x] = '0'+count;
            }
        }
    }
    for(int i=0;i<n;i++){
        for(int x=0;x<m;x++){
            cout<<result[i][x];
        }
        cout<<endl;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务