Najdłuższy wspólny podciąg

advertisement
Najdłuższy wspólny podciąg
Warsztaty ILO
Limit pamięci: 64 MB
Limit czasu: 2 s
www.solve.edu.pl
Tym razem nie będzie historyjki. Zadanie jest dość trudne, więc jest niepotrzebna. Danych jest
N permutacji K–elementowych (permutacja to ciąg liczb naturalnych od 1 do K, w których każda liczba występuje tylko jeden raz). Podciągiem dowolnego ciągu s (w szczególności permutacji)
nazwiemy każdy taki ciąg, który można uzyskać wybierając pewne wyrazy s, nie zmieniając ich kolejności. Dla przykładu, ciąg (1, 3, 6) jest podciągiem ciągu (1, 2, 7, 5, 3, 6), natomiast ciąg (1, 6, 7)
już nie.
Zadanie
Napisz program, który: wczyta zadane permutacje, obliczy długość najdłuższego (najliczniejszego)
wspólnego podciągu wszystkich wczytanych permutacji oraz wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu znajdują się dwie liczby naturalne N oraz K, 1 6 N 6 50, 1 6 K 6
2 000, oddzielone pojedynczym odstępem i określające kolejno: liczbę permutacji oraz ich długość.
W kolejnych N wierszach znajdują się ciągi K parami różnych liczb naturalnych ai , 1 6 ai 6 K.
Są to permutacje, dla których należy znaleźć długosć najdłuższego wspólnego podciągu.
Wyjście
W pierwszym i jedynym wierszu wyjścia wypisać należy długość najdłuższego wspólnego podciągu.
Przykład
Wejście
3
1
4
4
5
4 2 5 3
1 2 3 5
3 1 2 5
Wyjście
3
Najdłuższym wspólnym podciągiem jest w tym
przypadku ciąg: 4, 2, 5 (lub na przykład 1, 2, 5).
1
Download