In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Słowem dwójkowym nazywamy każdy niepusty ciąg złożony z lub . Równanie na słowach ma postać , gdzie i są cyframi dwójkowymi ( lub ) lub zmiennymi, to jest małymi literami alfabetu angielskiego. Dla każdej zmiennej jest ustalona długość słów dwójkowych, które można podstawiać w jej miejsce. Długość tę nazywamy długością zmiennej. Rozwiązanie równania na słowach polega na przypisaniu każdej zmiennej słowa dwójkowego o odpowiadającej tej zmiennej długości, w taki sposób, by po zastąpieniu zmiennych w równaniu przez przypisane im słowa, obie strony równania (słowa dwójkowe) były takie same.
Dla danego równania na słowach policz ile jest różnych rozwiązań tego równania.
Niech będą długościami zmiennych w poniższym równaniu: To równanie ma różnych rozwiązań.
Napisz program, który:
W pierwszym wierszu standardowego wejścia znajduje się liczba całkowita , . Jest to liczba równań. Następne wiersze zawierają opisy równań. Na każdy opis składa się wierszy. Między kolejnymi opisami nie ma pustych wierszy. Każde równanie jest opisane w następujący sposób:
W pierwszym wierszu opisu znajduje się liczba całkowita , . Jest to liczba różnych zmiennych w równaniu. Przyjmujemy, że zawsze zmiennymi jest pierwszych małych liter alfabetu angielskiego. W drugim wierszu jest zapisany ciąg liczb całkowitych dodatnich oddzielonych pojedynczymi odstępami. Te liczby to długości kolejnych zmiennych występujących w równaniu.
Trzeci wiersz opisu zawiera tylko jedną dodatnią liczbę całkowitą . Jest to długość lewej strony równania — tj. długość słowa utworzonego z cyfr lub i jednoliterowych zmiennych. W następnym wierszu jest zapisana lewa strona równania jako ciąg cyfr lub zmiennych bez odstępów między nimi. Następne dwa wiersze zawierają opis prawej strony równania. Pierwszy z tych wierszy zawiera dodatnią liczbę . Jest to długość prawej strony równania. Drugi z wierszy zawiera prawą stronę równania zapisaną w taki sam sposób jak jego lewa strona. Liczba cyfr plus suma długości wszystkich zmiennych (licząc wszystkie wystąpienia każdej zmiennej) po każdej stronie równania nie przekracza .
Dla każdego , , Twój program powinien zapisać w -tym wierszu standardowego wyjścia liczbę różnych rozwiązań -tego równania.
Dla danych wejściowych:
1 5 4 2 4 4 2 5 1bad1 4 acbe
poprawną odpowiedzią jest:
16
Autor zadania: Wojciech Rytter.