求助
查看原帖
求助
1543216
YuuAnn楼主2024/12/1 11:29

80分 第一个检测点没过

#include<iostream>
using namespace std;
int main()
{
	int i,j,n,m,k,x,y,l,p,sum=0;
	cin>>n>>m>>k;
	int arr[n+4][n+4];//多输入 防止越界 
	for(i=0;i<n+4;i++)
	{
		for(j=0;j<n+4;j++)
		arr[i][j]=0;
	}
	for(i=0;i<m;i++)//火把 
	{
		cin>>x>>y;
		arr[x+1][y+1];
		for(l=0;l<5;l++)
		arr[x+1][y-1+l]=1,arr[x-1+l][y+1]=1;
		arr[x][y]=1;arr[x][y+2]=1;
		arr[x+2][y]=1;arr[x+2][y+2]=1;
	}
	for(i=0;i<k;i++)//萤石 
	{
		cin>>x>>y;
		for(l=0;l<5;l++)
		{
			for(p=0;p<5;p++)
			{
				arr[x-2+l][y-2+p]=1;
			}
		}
	}
	for(i=2;i<n+2;i++)//除去越界的 
	{
		for(j=2;j<n+2;j++)
		{
			if(arr[i][j]==0)
			sum++;
		}
	}
	cout<<endl;
	}
	cout<<sum;
}
2024/12/1 11:29
加载中...