Spunem că un cuvânt este valid dacă el este format doar cu litere din mulțimea {a,b,c,d}
și literele a
și b
nu sunt alăturate. De exemplu, cuvintele aaaa
, acdca
sunt valide, dar abbc
și baabd
nu sunt.
Cerința
Să se determine numărul cuvintelor valide de lungime n
. Pentru că acest număr este foarte mare, se va afișa rezultatul 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 S
, reprezentând numărul cuvintelor valide de lungime n
, modulo 777013
.
Restricții și precizări
1 ≤ n ≤ 100.000
Exemplul 1:
Intrare
1
Ieșire
4
Explicație
Cuvintele valide de lungime 1
sunt: a
, b
, c
, d
.
Exemplul 2:
Intrare
2
Ieșire
14
Explicație
Cuvintele valide de lungime 2
sunt: aa
, ac
, ad
, bb
, bc
, bd
, da
, db
, dc
, dd
, ca
, cb
, cc
, cd
.
#include <bits/stdc++.h> #define mod 777013 using namespace std; int n , a[100005] , b[100005]; int main() { cin >> n; a[1] = 2 , b[1] = 2; for(int i = 2 ; i <= n ; i++) { a[i] = (a[i - 1] + 2 * b[i - 1])%mod; b[i] = (2 * (a[i - 1] + b[i - 1]))%mod; } cout << (a[n] + b[n])%mod; return 0; }