In the event of technical difficulties with Szkopuł, please contact us via email at szkopul@fri.edu.pl.
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.
Aby otworzyć Sezam, trzeba mieć komplet co najmniej żetonów złotych, — srebrnych i — miedzianych. Alibaba ma początkowo pewną liczbą żetonów każdego rodzaju i może je wymieniać u strażnika Sezamu według ściśle określonych reguł. Każda reguła jest postaci:
()
gdzie: oznaczają odpowiednio liczby żetonów złotych, srebrnych i miedzianych, jakie Alibaba musi dać strażnikowi, zaś — liczby żetonów złotych, srebrnych i miedzianych, które otrzyma w wyniku transakcji wymiany. Żetony otrzymane w wyniku transakcji można wymieniać w kolejnych transakcjach.
Napisz program, który:
W pierwszym wierszu standardowego wejścia jest zapisana jedna liczba całkowita dodatnia (). Jest to liczba zestawów danych. Dalej są zapisane kolejno zestawy danych. Każdy zestaw danych składa się z wielu wierszy.
W pierwszym wierszu są zapisane trzy liczby całkowite nieujemne . Są to liczby żetonów złotych, srebrnych i miedzianych, jakie na początku ma Alibaba. W drugim wierszu są kolejne trzy liczby całkowite . Są to liczby żetonów złotych, srebrnych i miedzianych, jakie trzeba mieć, aby otworzyć Sezam. W trzecim wierszu jest zapisana liczba reguł , gdzie .
W każdym z kolejnych wierszy jest zapisany ciąg sześciu liczb należących do zbioru . Każda taka szóstka liczb jest zapisem jednej reguły transakcji: .
Liczby w każdym wierszu są pooddzielane pojedynczymi odstępami.
W -tym wierszu standardowego wyjścia należy wypisać wynik dla -tego zestawu danych:
Dla danych wejściowych:
2 2 2 2 3 3 3 3 0 1 1 2 0 0 1 0 1 0 2 0 1 1 0 0 0 2 1 1 1 2 2 2 4 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 2 0 0 0 2 2
poprawną odpowiedzią jest:
NIE 9
Autor zadania: Piotr Chrząstowski-Wachtel.