jerry


私信TA

用户名:cleverjerry

访问量:4671

签 名:

这个人很懒,什么都没有写~

等  级
排  名 2457
经  验 2294
参赛次数 0
文章发表 32
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

3024: 判断整除
浏览:57
3025: 踩方格
浏览:212
3023: 移动路线
浏览:68

解题思路:

可以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 人评分

  评论区

  • «
  • »