代码如下:
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int size,cnt,day,now_day=1;
string str;
int main(){
//freopen("test.in","r",stdin);
cin>>size;
char map[110][110];
bool is_move[110][110];
memset(is_move,false,sizeof(is_move));
memset(map,0,sizeof(map));
for(int i=1;i<=size;i++){
getline(cin,str);
for(int j=1;i<=size;j++){
map[i][j]=str[j-1];
if(map[i][j]=='@')cnt++;
}
}
cin>>day;
for(;now_day<day;now_day++){
for(int i=1;i<=size;i++){
for(int j=1;i<=size;j++){
if(map[i][j]=='@'){
if(map[i-1][j]=='.' and not is_move[i-1][j])map[i-1][j]='@',is_move[i-1][j]=true,cnt++;
if(map[i+1][j]=='.' and not is_move[i+1][j])map[i+1][j]='@',is_move[i+1][j]=true,cnt++;
if(map[i][j+1]=='.' and not is_move[i][j+1])map[i][j+1]='@',is_move[i][j+1]=true,cnt++;
if(map[i][j-1]=='.' and not is_move[i][j-1])map[i][j-1]='@',is_move[i][j-1]=true,cnt++;
}
}
}
memset(is_move,false,sizeof(is_move));
}
for(int i=1;i<=size;i++){
for(int j=1;j<=size;j++)cout<<map[i][j];
cout<<endl;
}
return 0;
}
/*
.'?!#
.#!@!
.#@!?
#?!?'
.'?'.
*/
输入怎么搞啊啊啊啊啊