Cod sursa(job #655586)
| Utilizator | Data | 2 ianuarie 2012 22:45:14 | |
|---|---|---|---|
| Problema | 12-Perm | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
using namespace std;
const char InFile[]="12perm.in";
const char OutFile[]="12perm.out";
const int MOD=(1<<20)-1;
ifstream fin(InFile);
ofstream fout(OutFile);
int N,SOL[4];
int main()
{
fin>>N;
fin.close();
SOL[0]=1;
SOL[1]=2;
SOL[2]=6;
SOL[3]=12;
for(register int i=5;i<=N;++i)
{
SOL[0]=SOL[1];
SOL[1]=SOL[2];
SOL[2]=SOL[3];
SOL[3]=SOL[3]+SOL[0]+2*(i-2);
SOL[3]&=MOD;
}
if(N>2)
{
fout<<SOL[3];
}
else
{
fout<<SOL[N-1];
}
fout.close();
return 0;
}
