SquareArray
2024-03-10 13:49:04
发布于:上海
27阅读
0回复
0点赞
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int n,m;
char s[110][110],ls[110][110];
int main(){
for(int i=0;i<110;i++)for(int j=0;j<110;j++)s[i][j]='.';
for(int i=0;i<110;i++)for(int j=0;j<110;j++)s[i][j]='.';
cin>>n;
for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){cin>>ls[i][j];s[i][j]=ls[i][j];}
cin>>m;
int t=0;
while(++t<m){
for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){
if(ls[i][j]=='@'){
if(ls[i-1][j]=='.'&&i-1>0)s[i-1][j]='@';
if(ls[i][j-1]=='.'&&j-1>0)s[i][j-1]='@';
if(ls[i+1][j]=='.'&&i+1<=n)s[i+1][j]='@';
if(ls[i][j+1]=='.'&&j+1<=n)s[i][j+1]='@';
}
}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)ls[i][j]=s[i][j];
//for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)cout<<s[i][j]<<"\0\n"[j==n];
}int c=0;
for(int i=1;i<=n;i++)for(int j=0;j<=n;j++)if(s[i][j]=='@')c++;
cout<<c<<endl;
return 0;
}
这里空空如也
有帮助,赞一个