# PBinfo #2260 – dinamica02 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: Darius

## Enunț

Se consideră un număr natural nenul N.

Cerința
Să se determine numărul de cuvinte de lungime N formate doar din litere mici și cu proprietatea că nu pot exista trei litere alăturate identice. Pentru că acest număr poate fi foarte mare, se va determina modulo 777013.

Date de intrare
Programul citește de la tastatură numărul N.

Date de ieșire
Programul va afișa pe ecran numărul de cuvinte modulo 777013.

Restricții și precizări

1 ≤ N ≤ 1 000 000
Cuvintele baaad și deeeeef au trei litere alăturate egale, pe când abbaa și xxyyxx nu au.

Exemplu:
Intrare

2
Ieșire

676

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
#define P 777013
using namespace std;
int main()
{
    int n, x, y, z, i;
    cin >> n;
    x = 26;
    y = 26 * 26;
    if (n == 1)
    {
        cout << x << "\n";
        return 0;
    }
    if (n == 2)
    {
        cout << y << "\n";
        return 0;
    }
    for (i = 3; i <= n; i++)
    {
        z = 25 * (x + y) % P;
        x = y;
        y = z;
    }
    cout << z << "\n";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2260)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2260/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2260/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
