Cod sursa(job #76816)

Utilizator bacerandreiBacer Andrei bacerandrei Data 11 august 2007 13:56:07
Problema Dame Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream.h>
#include<math.h>
int x[100],n,i;
int valid(int k)
{
  int i;
  for(i=1;i<=k-1;i++)
    if((x[i]==x[k])||abs(x[i]-x[k])==abs(i-k))
      return 0;
  return 1;
}

int main()
{

  ifstream f("dame.in");
  ofstream g("dame.out");
  f>>n;
  if(n==1||n>=4)
   g<<n<<"\n";
  else
   g<<n-1<<"\n";
  for(i=1;i<=n;i++)
    x[i]=0;
    i=1;
    do
    {
      do
      {
	x[i]++;
	if(x[i]>n)
	{
	  x[i]=0;
	  i--;
       }
       else
       if(valid(i))
	 i++;

     }while(i<=n&&i>0);
     if(i>n)
     {
       for(i=1;i<=n;i++)
       {
	 g<<i<<" "<<x[i];
	 g<<"\n";
       }
       i=-1;
	}
    }while(i>0);
 return 0;
}