题解 P7550
本题根据题目直接模拟即可。
注意有一个坑:只能把原来存在的 # 扩展,而不能将扩展后产生的新 # 继续扩展。所以我们要使用一个布尔类型的数组来存储某一个 # 是否在原信件中存在,如果存在才进行扩展。
下面贴代码:
#include <bits/stdc++.h>
using namespace std;
char c[1005][1005];
bool f[1005][1005];
int main()
{
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
cin >> c[i][j]; //读入
if (c[i][j] == '#')
{
f[i][j] = true; //标记'#'
}
}
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
if (f[i][j]) //扩展
{
c[i + 1][j] = '#';
c[i + 1][j + 1] = '#';
c[i][j + 1] = '#';
}
}
}
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
cout << c[i][j]; //输出
}
cout << endl; //别忘换行
}
return 0;
}