Pagini recente » Cod sursa (job #1855282) | Cod sursa (job #945625) | Cod sursa (job #2203341) | Cod sursa (job #2037977) | Cod sursa (job #984522)
Cod sursa(job #984522)
#include <iostream>
#include <fstream>
#include <list>
using namespace std;
const int mask = ( 1 << 20 ) - 1;
int N;
int T[10];
/// T[1] = 1, T[2] = 2, T[3] = 6, T[4] = 12;
/// T[i] = T[i - 1] + T[i - 3] + 2 * (i - 2)
int main()
{
ifstream f("12perm.in");
ofstream g("12perm.out");
f >> N;
T[1] = 1, T[2] = 2, T[3] = 6, T[4] = 12;
if ( N < 5 )
g << T[N] << "\n";
else
{
for ( int i = 5; i <= N; ++i )
{
T[5] = ( T[4] + T[2] + 2 * ( i - 2 ) ) & mask;
T[1] = T[2];
T[2] = T[3];
T[3] = T[4];
T[4] = T[5];
}
g << T[5] << "\n";
}
f.close();
g.close();
return 0;
}