解题思路:
可以DP,可以搜索。 要就复制吧,爱就点赞吧!
注意事项:
注意b结构体不要删,否自会直线传播。
参考代码:
#include<bits/stdc++.h> using namespace std; struct node { string s[105]; }; const int zl[4][2]={{-1,0},{0,1},{1,0},{0,-1}}; node a,b; int n,m; int main() { cin>>n; for(int i=0;i<=n-1;i++)cin>>a.s[i]; cin>>m; b=a; for(int k=2;k<=m;k++) { for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(a.s[i][j]=='@') { for(int x=0;x<4;x++) { int xx=i+zl[x][0],yy=j+zl[x][1]; if(xx>=0&&xx<n&&yy>=0&&yy<n&&b.s[xx][yy]=='.')b.s[xx][yy]='@'; } } } } a=b; } int ans=0; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(a.s[i][j]=='@')ans++; } } cout<<ans; return 0; }
0.0分
1 人评分