Областная олимпиада по информатике, 2010 год


Задача A. Ферзи

посмотреть в олимпиаде

Комментарий/решение:

  0
2018-10-06 11:33:07.0 #

#include<iostream>

using namespace std;

bool a[10001][10001];

void f(int x,int y,int n)

{

for(int i=1;i<=n;i++)

{

a[x][i]++;

a[i][y]++;

int q=x,w=y;

if((x+i<=n+1 && y+i<=n+1))

{

a[x+i][y+i]++;

if(x!=1 && y!=1)

{

a[x-i][y-i]++;

}

if(y!=1)

a[x+i][y-i]++;

if(x!=1)

a[x-i][y+i]++;

}

}

}

int main()

{

int n,m,cn=0;

cin>>n>>m;

for(int i=1;i<=m;i++)

{

int x,y;

cin>>x>>y;

a[x][y]++;

f(x,y,n);

}

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

{

if(!a[i][j]) cn++;

}

}

cout<<cn;

}