题目链接https://www.lanqiao.cn/problems/551/learning/

2021年蓝桥杯一道水模拟题

本来以为很难做,结果都用不到算法

emm~


#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,m,t,k,b,c,i,j;
	int a[110][110]={};
	int mapt[110][110]={},ans=0;
	cin>>n>>m;
	cin>>t;
	for(i=1;i<=t;i++)
	{
		cin>>b>>c;
		a[b][c]=1;
	}
	cin>>k;
	for(i=1;i<=k;i++)
	{
		copy(a[0],a[110],mapt[0]);
		for(i=1;i<=n;i++)
		{
			for(j=1;j<=m;j++)
			{
				if(mapt[i][j]==1)
				{
					a[i-1][j]=a[i+1][j]=a[i][j-1]=a[i][j+1]=1;
				}
			}
		}
	}
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=m;j++)
		{
			if(a[i][j]==1)
				ans++;
		}
	}
	cout<<ans;
}