蒟蒻不知道错哪,求捞
查看原帖
蒟蒻不知道错哪,求捞
766626
mb101010楼主2023/11/18 21:40

样例输出6,跟题解做的,不知道错哪,把ans移到后面遍历增加就对了(像题解那样)

错误代码

#include<bits/stdc++.h>
using namespace std;
int n,m,r,a[101][101]={0},ans=0,x,y;

int main()
{
	//freopen("a.in","r",stdin);
	//freopen("a.out","w",stdout);
	cin>>n>>m>>r;
	for(int i=1;i<=m;i++)
	{
		cin>>x>>y;
		a[x][y]=1;
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
			{
				double r1=sqrt((x-i)*(x-i)+(y-j)*(y-j));
				if(r1<=r&&a[i][j]==0)
				{
					a[i][j]=1;
					ans++;
				}
			}
		}
	}
	cout<<ans;
	return 0;
}

AC代码

就把ans放到后面判断


这是改过之后的部分(讨论区不给发题解)

	if(r1<=r)
	{
		a[i][j]=1;
	}
和
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++) if(a[i][j]==1) ans++;

2023/11/18 21:40
加载中...