#include<bits/stdc++.h> using namespace std; int main(){ int n,m; char map[105][105]; cin>>n; for(int i=0;i<n;i++){ cin>>map[i]; } cin>>m; for(int day=1;day<m;day++){ char temp[105][105]; for(int i=0;i<n; i++){ for(int j=0;j<n;j++){ temp[i][j]=map[i][j]; } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(temp[i][j] == '@'){ if(i-1>=0&&map[i-1][j]'.') map[i-1][j]='@'; if(i+1<n&&map[i+1][j]'.') map[i+1][j]='@'; if(j-1>=0&&map[i][j-1]'.') map[i][j-1]='@'; if(j+1<n&&map[i][j+1]'.') map[i][j+1]='@'; } } } } int cnt=0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(map[i][j]=='@') cnt++; } } cout<<cnt; return 0; }

1 条评论

  • @ 2026-9-7 21:39:43
    using namespace std;
    int main(){
        int n,m;
        char map[105][105];
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>map[i];
        }
        cin>>m;
        for(int day=1;day<m;day++){
            char temp[105][105];
            for(int i=0;i<n; i++){
                for(int j=0;j<n;j++){
                    temp[i][j]=map[i][j];
                }
            }
            for(int i=0;i<n;i++){
                for(int j=0;j<n;j++){
                    if(temp[i][j] == '@'){
                        if(i-1>=0&&map[i-1][j]=='.')
                            map[i-1][j]='@';
                        if(i+1<n&&map[i+1][j]=='.')
                            map[i+1][j]='@';
                        if(j-1>=0&&map[i][j-1]=='.')
                            map[i][j-1]='@';
                        if(j+1<n&&map[i][j+1]=='.')
                            map[i][j+1]='@';
                    }
                }
            }
        }
        int cnt=0;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(map[i][j]=='@')
                    cnt++;
            }
        }
        cout<<cnt;
        return 0;
    }
    • 1

    信息

    ID
    193
    时间
    ms
    内存
    MiB
    难度
    2
    标签
    递交数
    200
    已通过
    69
    上传者