Pagini recente » Cod sursa (job #2688175) | Cod sursa (job #999863) | Cod sursa (job #2282011) | Cod sursa (job #2151308) | Cod sursa (job #1391028)
#include <fstream>
using namespace std;
ifstream fin ("12perm.in");
ofstream fout ("12perm.out");
const int MOD = (1 << 20);
int N, sol, X[50];
bool fr[50];
int modul(int x) {
return (x < 0 ? -x : x);
}
void Afis()
{
for (int i = 1; i <= N; i++) {
fout << X[i] << ' ';
}
fout << '\n';
}
void Back(int k)
{
if (k == N + 1)
{
//Afis();
sol++;
}
else
{
for (int i = 1; i <= N; i++)
{
if (!fr[i] && modul(X[k-1] - i) < 3)
{
fr[i] = 1;
X[k] = i;
Back(k + 1);
fr[i] = 0;
}
}
}
}
int main()
{
fin >> N;
int a, b, c;
a = 2;
b = 6;
c = 12;
for (int i = 5; i <= N; i++)
{
a = (c + a + 2 * (i - 2)) % MOD;
swap (a, c);
swap (a, b);
}
fout << c << '\n';
fout.close();
return 0;
}