ConcursC++17

Culori

Pasiunea Mirunei este să coloreze. Vacanţa trecută şi-a petrecut-o la bunica ei la ţară şi pentru că se cam plictisea s-a gândit să vopsească gardul de la casa bunicii.

Gardul este compus din NN scânduri dispuse una lângă alta. Miruna a găsit în garajul bunicii 55 cutii de vopsea de culori diferite: albă, albastră, roşie, verde şi galbenă. Când a vopsit gardul, Miruna a respectat următoarele reguli:

  • Dacă o scândură era vopsită cu alb, următoarea scândură o vopsea obligatoriu cu albastru
  • Dacă o scândură era vopsită cu albastru, atunci următoarea scândură o vopsea cu alb sau roşu
  • Dacă o scândură era vopsită cu roşu, atunci următoarea scândură o vopsea cu albastru sau verde
  • Dacă o scândură era vopsită cu verde, atunci următoarea scândură o vopsea cu roșu sau galben
  • Dacă o scândură era vopsită cu galben, atunci următoarea scândură o vopsea obligatoriu cu verde

După ce a și-a terminat treaba Miruna își admira “opera de artă” și se întreba în câte moduri diferite ar fi putut să vopsească gardul bunicii.

Cerinţă

Ajutați-o pe Miruna să găsească răspunsul la întrebarea sa.

Date de intrare

Fişierul culori.in conţine pe prima sa linie un singur număr natural NN.

Date de ieșire

Fişierul de ieşire culori.out va conţine pe prima sa linie un singur număr întreg reprezentând numărul de moduri diferite în care Miruna ar fi putut să vopsească gardul bunicii.

Restricții și precizări

  • 1≤N≤5 0001 \leq N \leq 5 \ 000;
  • Pentru 25%25\% dintre teste N≤45N \leq 45.

Exemplu

culori.in

4

culori.out

24

Explicație

Gardul poate fi vopsit astfel:

  1. (alb, albastru, alb, albastru);
  2. (alb, albastru, roșu, albastru);
  3. (alb, albastru, roșu, verde);
  4. (albastru, alb, albastru, alb);
  5. (albastru, alb, albastru, roșu);
  6. (albastru, roșu, albastru, alb);
  7. (albastru, roșu, albastru, roșu);
  8. (albastru, roșu, verde, roșu);
  9. (albastru, roșu, verde, galben);
  10. (roșu, albastru, alb, albastru);
  11. (roșu, albastru, roșu, albastru);
  12. (roșu, albastru, roșu, verde);
  13. (roșu, verde, roșu, albastru);
  14. (roșu, verde, roșu, verde);
  15. (roșu, verde, galben, verde);
  16. (verde, roșu, albastru, alb);
  17. (verde, roșu, albastru, roșu);
  18. (verde, roșu, verde, roșu);
  19. (verde, roșu, verde, galben);
  20. (verde, galben, verde, roșu);
  21. (verde, galben, verde, galben);
  22. (galben, verde, roșu, albastru);
  23. (galben, verde, roșu, verde);
  24. (galben, verde, galben, verde).

Sursă și autori

OJI 2012, clasele 10. Carmen Popescu.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑