1 条题解

  • 0
    @ 2026-10-25 14:59:50

    思路

    按天同步感染,阻挡格和第一天边界;可用分层BFS。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){int n,m;cin>>n;vector<string>a(n);for(auto &s:a)cin>>s;cin>>m;for(int d=1;d<m;d++){auto b=a;for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(a[i][j]=='@'){int di[]={1,-1,0,0},dj[]={0,0,1,-1};for(int z=0;z<4;z++){int x=i+di[z],y=j+dj[z];if(x>=0&&x<n&&y>=0&&y<n&&a[x][y]=='.')b[x][y]='@';}}a=b;}int ans=0;for(auto s:a)ans+=count(s.begin(),s.end(),'@');cout<<ans<<'\n';}
    
    • 1

    信息

    ID
    1074
    时间
    1000ms
    内存
    64MiB
    难度
    普及−
    标签
    递交数
    1
    已通过
    1
    上传者