Cod sursa(job #3171117)

Utilizator AlexMol089Alex Moldoveanu AlexMol089 Data 18 noiembrie 2023 13:21:08
Problema Problema Damelor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.5 kb
#include <fstream>
using namespace std;
ifstream  cin("damesah.in");
ofstream cout("damesah.out");
int main()
{
  int n,m,i,j,k=0,atacmax=-1,im,jm,atac;
  cin>>n>>m;
  int a[n+2][n+2];
  for(i=1;i<=n;i++)
  {
    for(j=1;j<=n;j++)
    {
      a[i][j]=0;
    }
  }
  for(i=1;i<=m;i++)
  {
    cin>>im>>jm;
    a[im][jm]=1;
  }
    
  for(i=1;i<=n;i++)
  {
    for(j=1;j<=n;j++)
    {
      if(a[i][j]==1)
      {
        atac=0;
        for(im=i+1;im<=n;im++)
        {
          if(a[im][j]==1){atac++;break;}
        }
        for(im=i-1;im>=1;im--)
        {
          if(a[im][j]==1){atac++;break;}
        }
        for(jm=j+1;jm<=n;jm++)
        {
          if(a[i][jm]==1){atac++;break;}
        }
        for(jm=j-1;jm>=1;jm--)
        {
          if(a[i][jm]==1){atac++;break;}
        }
        jm=j;
        for(im=i+1;im<=n;im++)
        {
          jm++;
          if(jm<=n && a[im][jm]==1){atac++;break;}
        }
        jm=j;
        for(im=i-1;im>=1;im--)
        {
          jm--;
          if(jm>=1 && a[im][jm]==1){atac++;break;}
        }
        jm=j;
        for(im=i+1;im<=n;im++)
        {
          jm--;
          if(jm>=1 && a[im][jm]==1){atac++;break;}
        }
        jm=j;
        for(im=i-1;im>=1;im--)
        {
          jm++;
          if(jm<=n && a[im][jm]==1){atac++;break;}
        }
        if(atac>atacmax){atacmax=atac;k=0;}
        if(atac==atacmax){k++;}
      }
    }
  }
  cout<<atacmax<<" "<<k;
  return 0;
}