瞎玩。。10000^2居然能过。。
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
int n,m,k;
const int N=
2e5+
5;
const int inf=
2147483646;
int a[
105][
105];
inline bool pd(
int x,
int y)
{
if (x<
1||x>n||y<
1||y>n)
return 0;
return 1;
}
const int dx[
4]={-
1,
1,-
1,
1};
const int dy[
4]={
1,-
1,-
1,
1};
int main()
{
scanf(
"%d%d",&n,&k);
fo(i,
1,k)
{
int x,y;
scanf(
"%d%d",&x,&y);
fo(j,
1,n)
a[x][j]++,a[j][y]++;
fo(k,
0,
3)
{
int x1=x+dx[k],y1=y+dy[k];
while (pd(x1,y1))
{
a[x1][y1]++;
x1+=dx[k],y1+=dy[k];
}
}
}
int ans=
0;
fo(i,
1,n)
fo(j,
1,n)
{
if (a[i][j]>=k)++ans;
}
printf(
"%d\n",ans);
}
转载请注明原文地址: https://ju.6miu.com/read-671984.html