Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2020-05-27 09:32:37.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:heist.in, heist.outSursăJunior Challenge 2020
AutorAlexandru Enache, Alexandru PetrescuAdăugată deJuniorChallenge2020Comisia JuniorChallenge2020
Timp execuţie pe test0.04 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Heist

Ramas fara bani, Jimmy a decis ca e timpul sa recurga la ultima solutie, jefuirea unei banci. Dupa ce el a facut partea grea, adica sa ameninte oamenii din banca cu un pistol de jucarie intr-un mod convingator, Jimmy a ajuns la seif. Acum el va roaga sa il ajutati cu deschiderea acestuia.

Seiful are inscriptionat pe el un sir de 2N biti. Pentru a-l debloca trebuie sa gasiti o expresie folosindu-va de N variabile de tip bool, expresie care sa contina (de oricate ori) doar:

  • aceste variabile
  • operatorul ^ (xor) (cu prioritate mica)
  • operatorul ~ (not) (cu prioritate mare)
  • paranteze deschise si inchise (cu prioritate uriasa)

Daca prin concatenanrea rezultatelor expresiei pentru fiecare din configuratiile de 0 si 1 ale fiecarei variabile, in ordine sistematica (verifica exemplul pentru o explicatie mai detaliata) este exact sirul inscriptionat pe seif, atunci Jimmy va deveni un om foarte bogat.

Date de intrare

Fişierul de intrare heist.in va contine pe prima linie numarul N cu semnificatia din enunt.
Pe urmatoarea linie se va afla sirul de 2N biti.

Date de ieşire

În fişierul de ieşire heist.out se va afla numarul S reprezentand lungimea expresiei gasite, urmat, pe linia urmatoare, de expresie.

Restricţii

  • 1 ≤ N ≤ 20
  • 1 ≤ S ≤ 100
  • Variabilele din expresie se vor scrie ca N litere mici incepand in ordine crescatoare de la litera a.
  • Daca pot exista mai multe expresii care sa genereze sirul de 2N biti se accepta oricare.
  • Nu se garanteaza faptul ca autorul acestui enunt stie cum functioneaza un seif.

Exemplu

heist.inheist.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?