---
id: 5900f40d1000cf542c50ff20
title: 'Проблема 161: Тріоміни'
challengeType: 5
forumTopicId: 301795
dashedName: problem-161-triominoes
---

# --description--

Тріоміно - це форма, що складається з трьох квадратів, з'єднаних за допомогою ребер.

Є дві основні форми:

<img class="img-responsive center-block" alt="дві основні форми тріомінів" src="https://cdn.freecodecamp.org/curriculum/project-euler/triominoes-1.gif" style="background-color: white; padding: 10px;" />

Існує шість можливих варіантів фігур:

<img class="img-responsive center-block" alt="форми тріомінів включно із варіантами" src="https://cdn.freecodecamp.org/curriculum/project-euler/triominoes-2.gif" style="background-color: white; padding: 10px;" />

Будь-яка таблиця з n на m, для якогї nxm ділиться на 3, може бути викладена тріомінами. Якщо ми розглядаємо також і плитки, що можуть бути отримані шляхом відбиття або обертання від іншої плитки, то існує 41 спосіб як таблицю 2 на 9 можна заповнити фігурами тріоміно:

<img class="img-responsive center-block" alt="анімація, що показує 41 спосіб заповнення таблиці 2 на 9 тріомінами" src="https://cdn.freecodecamp.org/curriculum/project-euler/triominoes-3.gif" style="background-color: white; padding: 10px;" />

Скількома способами таблицю 9 на 12 можна заповнити тріомінами таким чином?

# --hints--

`triominoes()` повинен повернутися як `20574308184277972`.

```js
assert.strictEqual(triominoes(), 20574308184277972);
```

# --seed--

## --seed-contents--

```js
function triominoes() {

  return true;
}

triominoes();
```

# --solutions--

```js
// solution required
```
