Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | expresii2.in, expresii2.out | Sursă | preONI 2007, Runda 3 |
Autor | Daniel Pasaila | Adăugată de | Daniel Pasaila •danielp |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 20096 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Expresii 2
O exrpresie logica este formata din variabile (litere mici 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 infixata | forma postfixata |
---|---|
!((a + b) * a) | ab+a*! |
(a + b) * c * (b + a) | ab+c*ba+* |
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.in | expresii2.out |
---|---|
4 2 3 | 26 AA!+ |
Explicatie
Iata cele 26 de expresii posibile:
1 AA+!
2 AA*!
3 AA!+
4 AA!*
5 AB+!
6 AB*!
7 AB!+
8 AB!*
9 A!A+
10 A!A*
11 A!B+
12 A!B*
13 A!!!
14 BA+!
15 BA*!
16 BA!+
17 BA!*
18 BB+!
19 BB*!
20 BB!+
21 BB!*
22 B!A+
23 B!A*
24 B!B+
25 B!B*
26 B!!!