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.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.