题解 | #随机序列#
随机序列
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;
}
}