题解 P7550 [COCI2020-2021#6] Bold
Aiopr_2378 · · 题解
Solution P7550 [COCI2020-2021#6] Bold
一、思路:
这道题还是很简单的······
读题可得:如果点
输入自然很简单,普通用
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
要注意的是:
每个点更新的时候我们不能从
....
.#..
....
....
当我们更新
....
.##.
.##.
....
但是我们在更新
....
.###
.###
.###
但是我们是不能更新这几个点的,因为题目中的
那我们怎样更新呢?我们可以从
for(int i=n;i>0;i--){
for(int j=m;j>0;j--){
if(a[i][j]=='#'){
a[i][j+1]='#';
a[i+1][j]='#';
a[i+1][j+1]='#';
}
}
}
然后再输出就行了。
二、参考代码:
#include<bits/stdc++.h>
using namespace std;
char a[1005][1005];
int n,m;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=n;i>0;i--){
for(int j=m;j>0;j--){
if(a[i][j]=='#'){
a[i][j+1]='#';
a[i+1][j]='#';
a[i+1][j+1]='#';
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}
三、尾声:
这部分看起来根本没用
这道题的满分是
感谢大家对我的支持,感谢您的浏览,希望能帮助到您,祝您早日犇犇。
By Indifferent