40分,蒟蒻求助
查看原帖
40分,蒟蒻求助
752727
kun_jia_jun楼主2024/4/23 20:33
#include<bits/stdc++.h>
using namespace std;
int n,m,k,tot;
int mx[30],my[30],kx[10],ky[10];
bool q[110][110];
int dx[]={-2,-1,-1,-1,0,0,0,0,1,1,1,2};//12
int dy[]={0,-1,0,1,-2,-1,1,2,-1,0,1,0};//12
int bx[]={-2,-2,-2,-2,-2,-1,-1,-1,-1,-1,0,0,0,0,1,1,1,1,1,2,2,2,2,2};//24
int by[]={-2,-1,0,1,2,-2,-1,0,1,2,-2,-1,1,2,-2,-1,0,1,2,-2,-1,0,1,2};//24
int main()
{
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++)
	{
		cin>>mx[i]>>my[i];
		q[mx[i]][my[i]]=1;
		for(int j=0;j<12;j++)
		{
			int xx=mx[i]+dx[j];
			int yy=my[i]+dy[j];
			if(xx>0&&xx<=n&&yy>0&&yy<=n&&q[xx][yy]==0)
				q[xx][yy]=1;
		}
	}
	for(int i=1;i<=k;i++)
	{
		cin>>kx[i]>>ky[i];
		q[mx[i]][my[i]]=1;
		for(int j=0;j<24;j++)
		{
			int xx=kx[i]+bx[j];
			int yy=ky[i]+by[j];
			if(xx>0&&xx<=n&&yy>0&&yy<=n&&q[xx][yy]==0)
				q[xx][yy]=1;
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(q[i][j]==0)
			{
				tot++;
			}
		}
	}
	cout<<tot;
	return 0;
}
2024/4/23 20:33
加载中...