Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | bytes.in, bytes.out | Sursă | IIOT 2021-22 Runda 1 |
Autor | Ioan Popescu | Adăugată de | |
Timp execuţie pe test | 3 sec | Limită de memorie | 262144 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Bytes
Seeking treasures of immense value to add to his almighty random knapsack, Prosto is travelling around the world. During one of his journeys he found a room filled with chests, each being locked. On every chest there is a boolean formula engraved on it.
The boolean formulas are XOR sums of multiple clauses, where a clause is the AND sum of some literals, which can be negated.
Alongside the formula on the chest, there is engraved a number k, which represents the number of distinct literals which can appear in the given formula. The i-th literal is represented as the i-th lowercase letter of the english alphabet e.g. the first literal is 'a', the second literal is 'b' and so on.
In order to unlock a chest you need to find the number of ways to assign each literal 0 or 1 such that the given formula evaluates to 1.
Let's say we have a chest with k=3 variables and the following formula: (a AND b) XOR (b AND c) XOR (a AND c). If the tuple of literals (a,b,c) is equal to one of the following tuples: (1,1,0), (1,0,1), (0,1,1), (1,1,1) then the given expression is 1, so the answer is 4.
Our protagonist promises you glory and 100 points if you can help him find the keys to some of his chests.
Date de intrare
Fişierul de intrare bytes.in ...
Date de ieşire
În fişierul de ieşire bytes.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
bytes.in | bytes.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...