Król Bajtazar organizuje wielką ucztę z okazji swoich 128. urodzin.
  Postanowił zaproszonych gości usadzić przy okrągłych stołach tak,
  żeby żaden z gości nie siedział przy stole sam.
  Wybrał już 
 osób, które mógłby zaprosić na przyjęcie.
  Następnie uszeregował gości w kolejności od najważniejszych i ponumerował ich kolejno od 
 do 
 (gość numer 
 jest najważniejszy).
  Goście są bardzo wymagający: każdy z nich podał królowi wymagania odnośnie do tego,
  kto może siedzieć po jego prawej stronie.
  Król chce, aby każdy z zaproszonych gości miał dogodne towarzystwo, toteż nie pozwoli, aby wymagania któregoś z gości nie zostały spełnione.
  Może się więc okazać, że nie uda się zaprosić wszystkich 
 osób.
  Bajtazar poprosił Ciebie (nadwornego informatyka) o wyznaczenie najlepszego
  z możliwych zbiorów zaproszonych gości i przykładowego usadzenia ich przy okrągłych stołach.
  Król, spytany o to, co miał na myśli, mówiąc o najlepszym zbiorze gości,
  odpowiedział zaskakująco rzeczowo, jak na 
-letniego informatycznego laika:
Aby porównać dwa zbiory gości, wybieram osobę o najmniejszym numerze, która należy do dokładnie jednego z porównywanych zbiorów. Ta właśnie osoba należy do lepszego zbioru.
Przy tak określonym porządku można faktycznie jednoznacznie określić, który z potencjalnych zbiorów gości jest najlepszy.
  W pierwszym wierszu wejścia znajduje się liczba całkowita 
 (
)
  oznaczająca liczbę gości.
  W 
-tym z kolejnych 
 wierszy znajduje się opis preferencji osoby o numerze 
.
  Opis preferencji rozpoczyna się od liczby całkowitej 
 (
).
  Po niej następuje 
 parami różnych
  numerów osób - są to liczby całkowite z zakresu od 
 do 
, różne od 
.
  Każda taka liczba określa jedną osobę, która może usiąść po prawicy osoby numer 
.
  Suma liczb 
 nie przekracza 
.
  W testach wartych 
 punktów zachodzi dodatkowo warunek: jeśli osoba 
 zezwala na posadzenie
  osoby 
 po swojej prawej stronie, to również osoba 
 zezwala na posadzenie osoby
  
 po swojej prawej stronie.
  W szczególności oznacza to, że te dwie osoby mogą usiąść razem przy jednym, dwuosobowym stole.
  W testach wartych 
 punktów da się zaprosić wszystkie 
 osób na przyjęcie.
  W pierwszym wierszu wyjścia powinna znaleźć się liczba całkowita 
,
  oznaczająca liczbę stołów w znalezionym rozwiązaniu.
  Następne 
 wierszy powinno zawierać opisy poszczególnych stołów.
  Opis stołu rozpoczyna się od liczby całkowitej 
 oznaczającej liczbę gości przy nim siedzących.
  Dalej następuje 
 liczb oznaczających ich numery.
  Numery gości powinny być podawane kolejno, w porządku przeciwnym do kierunku ruchu wskazówek zegara.
  Pierwszy z wypisanych gości będzie siedział po prawej stronie ostatniego z gości.
Dla danych wejściowych:
6 3 2 6 3 0 1 4 1 1 1 4 1 5
poprawną odpowiedzią jest:
1 3 1 3 4
  W powyższym przykładzie lepiej zaprosić na ucztę osoby 
, 
 oraz 
 niż osoby 
, 
, 
 oraz 
.
  Zgodnie z kryterium króla lepszy zbiór wyznacza osoba o numerze 
.
Autor zadania: Marcin Smulewicz.
In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.