【题解】[牛客网NOIP赛前集训营-提高组(第七场)A.中国式家长2 模拟

题目链接
【题解】[牛客网NOIP赛前集训营-提高组(第七场)A.中国式家长2 模拟
【题解】[牛客网NOIP赛前集训营-提高组(第七场)A.中国式家长2 模拟
【题解】[牛客网NOIP赛前集训营-提高组(第七场)A.中国式家长2 模拟
【题解】[牛客网NOIP赛前集训营-提高组(第七场)A.中国式家长2 模拟
【题解】[牛客网NOIP赛前集训营-提高组(第七场)A.中国式家长2 模拟


【题解】[牛客网NOIP赛前集训营-提高组(第七场)A.中国式家长2 模拟

#include<cstdio>
#include<algorithm>
using namespace std;
const int N=210;
int n,m,x,y,ans,t,nk,k,a[N][N],b[N][N],vis[N][N];
int main()
{
	//freopen("in.txt","r",stdin);
	scanf("%d%d%d",&n,&m,&k),nk=k;
	for(int i=1;i<=n;i++)
	    for(int j=1;j<=m;j++)
	        scanf("%d",&a[i][j]);
	for(int i=1;i<=n;i++)
	    for(int j=1;j<=m;j++)
	        scanf("%d",&b[i][j]);
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&x,&y);
		if(!b[x][y]||vis[x][y]||!a[x][y]&&nk<10)
		{
			puts("-1 -1");return 0;
		}
		vis[x][y]=1;
		if(!a[x][y])nk-=10,ans+=10;
		else nk=min(k,nk+a[x][y]);
		for(int i=-1;i<=1;i++)
		    for(int j=-1;j<=1;j++)
		        b[x+i][y+j]=1;
	}
	printf("%d %d",nk,ans);
	return 0;
}

总结