Pagini recente » Cod sursa (job #2903219) | Cod sursa (job #1645762) | Cod sursa (job #487265) | Cod sursa (job #2276021) | Cod sursa (job #479631)
Cod sursa(job #479631)
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;
}