Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
void solve( )
{
int N = 0;
while (true) {
cin >> N;
if (N == -1) return;
ll a[32][8];
for (int i = 0; i < 8; ++i) a[0][i] = 0;
a[0][0b00000111] = 1;
for (int i = 1; i <= N+1; ++i) {
a[i][0b00000001] = a[i-1][0b00000110];
a[i][0b00000011] = a[i-1][0b00000100] + a[i-1][0b00000111];
a[i][0b00000100] = a[i-1][0b00000011];
a[i][0b00000110] = a[i-1][0b00000001] + a[i-1][0b00000111];
a[i][0b00000111] = a[i-1][0b00000011] + a[i-1][0b00000110];
if (i >= 2)
a[i][7] += a[i-2][7];
}
if (N%2==0)
cout << a[N][7] << endl;
else
cout << 0 << endl;
}
}
Задачи с доминошками на собеседованиях