Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Krzysztof jako zapalony szachista wie, że trzeba trenować. Co więcej, nie wystarczy trenować ciężko i często – trzeba też trenować mądrze. Trening Krzysztofa ma ustalony format: ustawia on wszystkie figury na szachownicy w pewien sposób (inny każdego dnia) i próbuje wybrać najlepszy możliwy ruch czarnymi z tej sytuacji.
By jego treningi były jak najefektywniejsze postanowił bardzo dokładnie zaplanować początkowe sytuacje (czyli ułożenia figur) na szachownicy w następnych dniach – konkretniej, wybrał on N różnych sytuacji i zdefiniował wśród nich M par sytuacji podobnych. Jeżeli dwie sytuacje są podobne, to Krzysztof będzie chciał przetrenować co najwyżej jedną z nich.
Teraz Krzysztof zastanawia się na jak długo starczy mu największy możliwy podzbiór wybranych N sytuacji, w którym żadne dwie sytuacje nie są podobne.
Pomóż młodemu szachiście i wskaż mu jak długo może trenować na obecnym zestawie.
Napisz program, który: wczyta liczbę rozpatrywanych sytuacji na szachownicy, liczbę par podobnych sytuacji i te pary, wyznaczy wielkość największego podzbioru sytuacji, w którym żadne dwie nie są podobne i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajdują się dwie dodatnie liczby całkowite N i M, oddzielone pojedynczym odstępem i oznaczające odpowiednio liczbę rozpatrywanych sytuacji i liczbę par sytuacji, które Krzysztof uznał za podobne.
W kolejnych M wierszach wejścia znajduje się opis podobnych par sytuacji. Opis każdej pary składa się z dwóch liczb całkowitych Ai, Bi oddzielonych pojedynczym odstępem i oznaczających, że sytuacja o numerze Ai jest podobna do sytuacji o numerze Bi.
Wyjście
W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć jedna dodatnia liczba całkowita – największa liczba sytuacji, jakie można wybrać, tak by żadne dwie nie były podobne.
Ograniczenia
1 ≤ N ≤ 100, N − 1 ≤ M ≤ N + 15, każde podobieństwo jest podane na wejściu dokładnie raz, graf podobieństw jest spójny, podobieństwa łączą tylko różne sytuacje.
Podzadania
W testach wartych łącznie 10% punktów dodatkowo zachodzi warunek N ≤ 20.
W innych testach wartych łącznie 15% punktów dodatkowo zachodzi warunek M = N − 1.
W innych testach wartych łącznie 15% punktów dodatkowo zachodzi warunek M = N.
W innych testach wartych łącznie 25% punktów testy są generowane losowo.
Przykład
Input | Output | Explanation |
|
|
Optymalny podzbiór sytuacji to {2, 4, 5}. |