Областная олимпиада по информатике, 2010 год
Задача A. Ферзи
Комментарий/решение:
#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;
}
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.