C2 - Logická funkciaČasový limit: 2s, Pamäťový limit: 64MiBProgramovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11Počet bodov: 1 [ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ] V mestečku Algebrovo sa začína rozmáhať kriminalita - všade pobehujú obory integrity, číselné rady a plno škaredých funkcií, ktoré každému znepríjemnňujú život. Najnovšie sa začal rozmáhať gang logických funkcií. Superhrdina Booleanman sa rozhodol, že s nimi zatočí. Na to by však potreboval vedieť, ako sa tieto funkcie správajú pre nejaké dané hodnoty premenných. ÚlohaLogická funkcia sa skladá z premenných označených malými písmenami anglickej abecedy a znakov &, |, !, ( a ).Korektné logické funkcie sú definované nasledovne:
VstupV prvom riadku sú čísla N a M, počet premenných funkcie a počet rôznych kombinácií ich hodnôt.Na druhom riadku je zadaná logická funkcia dĺžky L, pričom môžete predpokladať, že premenné sú označené prvými N malými písmenami anglickej abecedy. V nasledujúcich M riadkoch je zadaný reťazec dĺžky N zložený z núl a jednotiek. i-tá premenná nadobúda hodnotu i-tého znaku tohto reťazca. 1 ≤ M ≤ 50 VýstupPre každý z M popisov premenných vypíšte jeden znak - hodnotu funkcie pre dané hodnoty premenných. Ak sa jej hodnota nedá jednoznačne určiť, vypíšte ?.C11 ≤ N ≤ 8, 1 ≤ L ≤ 100 Funkcia neobsahuje zátvorky.C21 ≤ N ≤ 26, 1 ≤ L ≤ 4000 Príklad 1Vstup:2 3 !!!!a&!!b|b|a&!!!!!a 10 11 01 Výstup:0 1 1 Príklad 2Vstup:3 3 !(a&b&!c|(c&!b)) 111 010 001 Výstup:1 1 0 Príklad 3Vstup:1 2 a|!a 1 0 Výstup:1 1 |