Cod sursa(job #2979679)

Utilizator raileanu-alin-gabrielRaileanu Alin-Gabriel raileanu-alin-gabriel Data 15 februarie 2023 18:45:55
Problema Dame Scor 10
Compilator cpp-64 Status done
Runda un_concurs_ce_concurs Marime 1.04 kb
#include <fstream>
#include <cassert>

using namespace std;
ifstream fin("dame.in");
ofstream fout("dame.out");

int n, i,mat[1005][1005];

int main()
{
  int a=0, b=0, aux, aux2,el,a2,b2;
  fin>>n;
  if(n==3)
  {
    fout<<2<<'\n';
    fout<<1<<' '<<1<<'\n';
    fout<<2<<' '<<3<<'\n';
    return 0;
  }
  if(n==2)
  {
    fout<<1<<'\n';
    fout<<1<<' '<<1;
    return 0;
  }
  fout<<n<<'\n';
  for(i=1;i<=n/2+n%2;i++)
  {
    a=i;
    a2=a;
    b2=b;
    b=2*(i-1)+1;
    fout<<a<<' '<<b<<'\n';
    while(a2>=1 && b2<=n)
    {
      mat[a2][b2]=1;
      a2--;
      b2++;
    }
    while(a<=n && b<=n)
    {
      mat[a][b]=1;
      a2++;
      b2++;
    }
  }
  aux=n/2+n%2+1;
  for(i=aux;i<n;i=i+2)
  {
    el=4*(i-aux)+2;
    if(mat[el][i]==0 && mat[el+2][i+1]==0)
    {
      fout<<i<<" "<<el<<'\n';
      fout<<i+1<<" "<<el+2<<'\n';
    }
    else
    {
      fout<<i<<" "<<el+2<<'\n';
      fout<<i+1<<" "<<el<<'\n';
    }
  }
  if(i==n)
  {
    fout<<n<<" "<<n-1<<'\n';
  }
  return 0;
}