X Olimpiada Informatyczna 2002/2003

Zadanie: mas
Autor: Zbigniew Czech
Mastermind II

Zawody II stopnia, dzień próbny  
Plik źródłowy: mas.xxx (xxx=pas,c,cpp)

Alternatywne formaty: PostScript | PDF

Będziemy rozważali ciągi, które spełniają następujące warunki:

Pojedynczy ciąg będziemy nazywali układem.

Mając dane dwa układy, ich zgodność oceniamy podając dwie liczby. Pierwsza z nich (kolumna A w przykładzie) to suma cyfr, które występują w obu układach i znajdują się na tej samej pozycji w obu ciągach, natomiast druga (kolumna B), to suma cyfr, które występują w obu układach, ale znajdują się na różnych pozycjach.

Mamy dane u układów i podane oceny ich zgodności z pewnym nieznanym układem. Należy podać nieznany układ. Poniżej przedstawiono przykładowe dane i wynik dla u = 3.

Zadanie

Napisz program, który:

Wejście

Twój program powinien czytać opis ze standardowego wejścia. W pierwszym wierszu zapisana jest jedna liczba całkowita u, 1 <= u <= 9. W kolejnych u wierszach opisane są podane układy cyfr oraz ocena ich zgodności z pewnym nieznanym układem, po jednym w wierszu. W każdym z tych wierszy zapisanych jest po u+2 nieujemnych liczb całkowitych pooddzielanych pojedynczymi odstępami. Pierwsza i druga liczba są oceną zgodności danego układu z nieznanym układem. Ostatnie u liczb, to różne cyfry z zakresu 1-9 tworzące dany układ.

Wyjście

Twój program powinien wypisać na standardowe wyjście u różnych cyfr z zakresu 1-9 tworzących poszukiwany układ, oddzielonych pojedynczymi odstępami.

Możesz założyć, że dla danych testowych istnieje co najmniej jedno rozwiązanie. Jeżeli dla danych wejściowych istnieje wiele pasujących układów, Twój program powinien wypisać tylko jeden z nich.

Przykład

Dla danych wejściowych:

3
4 0 4 9 7
0 10 6 7 4
0 5 9 4 1

poprawnym wynikiem jest:

4 1 6