|
|||||||||||||||
|
ALIBABA
Aby otworzyć Sezam, trzeba mieć komplet co najmniej z żetonów złotych, s srebrnych i m 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: z1, s1, m1 -> z2, s2, m2 (zi, si, mi należą do {0,1,2,3,4}) gdzie: z1, s1, m1 oznaczają odpowiednio liczby żetonów złotych, srebrnych i miedzianych, jakie Alibaba musi dać strażnikowi, zaś z2, s2, m2 - 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.
ZadanieNapisz program, który:
WejścieW pierwszym wierszu pliku tekstowego ALI.IN jest zapisana jedna liczba całkowita dodatnia d<=10. 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 zp, sp, mp należące do {0,1,2,3,4}. 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 z, s, m należące do {0,1,2,3,4}. Są to liczby żetonów złotych, srebrnych i miedzianych, jakie trzeba mieć, aby otworzyć Sezam. W trzecim wierszu jest zapisana liczba reguł r, gdzie 1<=r<=10. W każdym z kolejnych r wierszy jest zapisany ciąg sześciu liczb z1, s1, m1, z2, s2, m2 należących do {0,1,2,3,4}. Każda taka szóstka liczb jest zapisem jednej reguły transakcji: z1, s1, m1 -> z2, s2, m2. Liczby w każdym wierszu są pooddzielane pojedynczymi odstępami.
WyjścieW i-tym wierszu pliku tekstowego ALI.OUT należy zapisać wynik dla i-tego zestawu danych:
Przykład 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 2poprawnym rozwiązaniem jest plik tekstowy ALI.OUT: NIE 9 Twój program powinien szukać pliku ALI.IN w katalogu bieżącym i tworzyć plik ALI.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę ALI.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku ALI.EXE. |