来自新手的提问
查看原帖
来自新手的提问
389540
imfkwk楼主2020/9/30 13:18
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n,ans=0;
	cin>>n;
	int a[n+4][n+4]={0};
	int m,k;
	cin>>m>>k;
	for(int i=1;i<=m;i++)
	{
		int x,y;
		cin>>x>>y;
		a[x-1][y+1]=a[x+3][y+1]=1;
		for(int j=y;j<=y+2;j++)a[x][j]=a[x+2][j]=1;
		for(int j=y-1;j<=y+3;j++)a[x+1][j]=1;
	}
	for(int i=1;i<=k;i++)
	{
		int x,y;
		cin>>x,y;
		for(int j=x-1;j<=x+3;j++)
		for(int k=y-1;k<=y+3;k++)a[j][k]=1;
	}
	for(int i=2;i<=n+1;i++)
	{
		for(int j=2;j<=n+1;j++)
		{
			if(a[i][j]==0)ans++;
		}
	}
	cout<<ans;
	return 0;
}

这个代码是二维版“校门外的树”,工艺品是三维版;但是!为什么我过不了?我没有考虑是否越界,我直接把长宽都加4(相当于在外面套了一个2单位的圈),在最后统计的时候把这两个圈忽略就行了;求教!为啥过不了(测试数据过了,其他的都是RE)

2020/9/30 13:18
加载中...