Fişierul intrare/ieşire:expresii2.in, expresii2.outSursăpreONI 2007, Runda 3
AutorDaniel PasailaAdăugată dedanielpDaniel Pasaila danielp
Timp execuţie pe test0.05 secLimită de memorie20096 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Expresii 2

O expresie logica este formata din variabile (litere mari ale alfabetului latin) si operatori ( + e disjunctie, * conjunctie si ! negatie). De exemplu, !((A + B) * A) este o expresie logica in forma infixata. O expresie in forma postfixata se remarca prin disparitia parantezelor si asezarea operatorilor la sfarsitul ei. Iata un exemplu de expresii, in forma infixata si postfixata:

forma infixataforma postfixata
!((A + B) * A)AB+A*!
(A + B) * C * (B + A)AB+C*BA+*

Consideram o ordine lexicografica pe multimea operatorilor si cea a variabilelor ( a..z < + < * < !). Se cere, mai intai, sa se numere toate expresiile in forma postfixata de lungime N ce au variabilele printre primele K litere ale alfabetului latin, iar operatorii printre cei amintiti mai sus. Se cere apoi sa se afiseze expresia de pe pozitia P din lista ordonata de expresii (prima expresie din lista e pe pozitia 1).

Date de intrare

Fisierul expresii2.in va contine, pe prima linie, N, K si P.

Date de iesire

Fisierul expresii.out va contine pe prima linie numarul de expresii posibile, iar pe a doua linie a P-a expresie din lista sortata lexicografic.

Restrictii

  • 1 ≤ N ≤ 30
  • 1 ≤ K ≤ 26
  • 1 ≤ P ≤ numarul de expresii posibile
  • N si K vor fi alesi in asa fel incat numarul de expresii sa fie mai mic decat 263
  • 40% din teste vor avea P = 1

Exemplu

expresii2.inexpresii2.out
4 2 3
26
AA!+

Explicatie

Iata primele 5 dintre 26 de expresii posibile:
AA+!
AA*!
AA!+
AA!*
AB+!

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content