Cod sursa(job #479631)

Utilizator APOCALYPTODragos APOCALYPTO Data 24 august 2010 16:58:00
Problema 12-Perm Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
using namespace std;
#include<iostream>
#include<fstream>
#include<cstring>
int viz[100],N,sum,T[100];
ofstream fout("perm12.out");
void back(int k,int last)
{

    if(k>N)
      sum++;//

      else
      {if(viz[last-1]==0&&last-1<=N&&last-1>=1)
         {   viz[last-1]=1;
             back(k+1,last-1);
             viz[last-1]=0;
         }
       if(viz[last+1]==0&&last+1<=N&&last+1>=1)
         {   viz[last+1]=1;
             back(k+1,last+1);
             viz[last+1]=0;
         }
        if(viz[last+2]==0&&last+2<=N&&last+2>=1)
         {   viz[last+2]=1;
             back(k+1,last+2);
             viz[last+2]=0;
         }
        if(viz[last-2]==0&&last-2<=N&&last-2>=1)
         {   viz[last-2]=1;
             back(k+1,last-2);
             viz[last-2]=0;
         }
      }


}
void solve()
{
    T[1]=1;
    T[2]=2;


}

void cit()
{

    ifstream fin("perm12.in");
    fin>>N;
    fin.close();
}
int main()
{int i;

    cit();
    sum=0;
    //solve();
    for( i=1;i<=N;i++)
    {   for(int j=1;j<=N;j++)
         viz[j]=0;
           viz[i]=1;
        //cout<<i<<"\n ";
        back(2,i);

        //viz[i]=0;
    }
    fout<<sum;
   fout.close();
    return 0;
}