Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Grafų saugojimo būdai
Duotas besvoris neorientuotas grafas. Parašykite programą, kuri išspausdintų duotą grafą pasitelkiant gretimumo matricą bei gretimumo sąrašus.
Pradiniai duomenys
Pirmoje eilutėje pateikti du sveikieji skaičiai ir - grafo viršūnių ir briaunų kiekiai ().
Toliau pateikta eilučių. -ojoje iš jų pateikti du sveikieji skaičiai ir reiškiantys, kad grafe yra briauna tarp viršūnių ir .
Pradiniai duomenys tokie, kad juose nebus dvigubų briaunų ir kilpų.
Rezultatai
Iš pradžių programa turi išspausdinti duoto grafo gretimumo matricą. Ją turi sudaryti eilučių, o kiekvienoje eilutėje turi būti po simbolių. Jei tarp viršūnių ir yra briauna, tai -osios eilutės -asis simbolis turi būti , o kitu atveju - .
Toliau turi būti išspausdinta viena eilutė su lygiai vienu brūkšneliu (-
).
Toliau turi būti išvesti grafo gretimumo sąrašai - eilučių. -oji iš šių eilučių prasideda skaičiumi , nurodančiu, kiek kaimynių turi -oji viršūnė. Toliau turi sekti tarpais atskirtų sveikųjų skaičių - viršūnės, kurios yra -osios viršūnės kaimynės. Viršūnės turi būti pateiktos didėjimo tvarka.
Kad būtų lengviau suprasti rezultatų formatą, panagrinėkite žemiau pateiktus pavyzdžius.
Pavyzdžiai
Pradiniai duomenys | Rezultatai | |
---|---|---|
6 10 1 3 1 5 1 6 2 4 2 5 2 6 3 4 3 5 4 6 5 6 |
001011 000111 100110 011001 111001 110110 - 3 3 5 6 3 4 5 6 3 1 4 5 3 2 3 6 4 1 2 3 6 4 1 2 4 5 |
|
8 7 2 4 3 2 4 3 5 7 7 8 2 6 5 8 |
00000000 00110100 01010000 01100000 00000011 01000000 00001001 00001010 - 0 3 3 4 6 2 2 4 2 2 3 2 7 8 1 2 2 5 8 2 5 7 |
|
6 6 3 1 3 2 3 4 3 5 3 6 5 4 |
001000 001000 110111 001010 001100 001000 - 1 3 1 3 5 1 2 4 5 6 2 3 5 2 3 4 1 3 |