四个点AC,六个点WA,怎么搞
查看原帖
四个点AC,六个点WA,怎么搞
104487
Shui_Dream楼主2018/11/20 21:33
#include<bits/stdc++.h>

using namespace std;
int n,m,r,x,y,a[1005][1005];
struct zuobiao
{
	int lt,rt,up,dn;
} d;
int main()
{
	cin>>n>>m>>r;
	for(int k=1;k<=m;k++)
	{
		cin>>x>>y;
	    if(x-r<1) d.up=1;
	    else d.up=x-r;
	    if(x+r>n) d.dn=n;
	    else d.dn=x+r;
	    if(y-r<1) d.lt=1;
	    else d.lt=y-r;
	    if(y+r>n) d.rt=n;
	    else d.rt=y+r;
		for(int i=d.up;i<=d.dn;i++)
		{
			for(int j=d.lt;j<=d.rt;j++)
			{
				a[i][j]++;
			}
		}
		a[x][y]++;
	}
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		if(a[i][j]>0) ans++;
	}
	cout<<ans;
	
	
	return 0;	
}
2018/11/20 21:33
加载中...