Pagini recente » Profil Robert9392 | Cod sursa (job #2356937) | Cod sursa (job #2593984) | Cod sursa (job #330640) | Cod sursa (job #479640)
Cod sursa(job #479640)
using namespace std;
#include<iostream>
#include<fstream>
#include<cstring>
int viz[100],N,sum,T[10000000],T5;
ofstream fout("12perm.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()
{int i,T1,T2,T3,T4;
T1=1;
T2=2;
T3=6;
T4=12;
for(i=5;i<=N;i++)
{T5=(T4+T2+2*(i-2))&((1<<20)-1);
T2=T3;
T3=T4;
T4=T5;
}
}
void cit()
{
ifstream fin("12perm.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<<T5;
fout.close();
return 0;
}