救救孩子(站外题
  • 板块灌水区
  • 楼主cygnus_beta
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/5/13 22:38
  • 上次更新2023/11/4 23:18:22
查看原帖
救救孩子(站外题
452531
cygnus_beta楼主2021/5/13 22:38

题目链接

代码如下:

#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;
}
/*
.'?!#
.#!@!
.#@!?
#?!?'
.'?'.
*/

输入怎么搞啊啊啊啊啊

2021/5/13 22:38
加载中...