太难了。。。总是第二个测试点,一直80
查看原帖
太难了。。。总是第二个测试点,一直80
359715
Lujiaxi楼主2022/4/14 23:18
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	int a[200][200];
	int n,m,k;
	cin>>n>>m>>k;
	for(int i=0;i<=n-1;i++)
		for(int j=0;j<=n-1;j++)
			a[i][j]=0;
  
	int x[m],y[m],o[k],p[k];
  
	//火把
    int s1,s2;
	for(int i=0;i<=m-1;i++)
	{
		cin>>x[i]>>y[i];
		
		for(int g=x[i]-2;g<=x[i]+2;g++)
			for(int h=y[i]-2;h<=y[i]+2;h++)
			{
				s1=abs(x[i]-g);
				s2=abs(y[i]-h);
				if(s1+s2<=2||i>m)
				a[g][h]=1;
			}
	}
	//萤石
	for(int i=0;i<=k-1;i++)
	{
		cin>>o[i]>>p[i];
  
		for(int g=o[i]-2;g<=o[i]+2;g++)
			for(int h=p[i]-2;h<=p[i]+2;h++)
				a[g][h]=1;
	}
	//输出
	int t=0;
	for(int i=0;i<=n-1;i++)
		for(int j=0;j<=n-1;j++)
			if(a[i][j]==0)
				t++;
	cout<<t;
return 0;
}

蒟蒻一枚,这是在洛谷写的第20题

第二个测试点WA了,80分,球球大佬帮忙看一下

2022/4/14 23:18
加载中...