11967. Список суміжності


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Є \(N\) міст із номерами \(1,…,N\) і \(M\) доріг, що з’єднують міста. \(i\)-та дорога (\(1≤i≤M\)) сполучає міста \(A_i\) ​ та \(B_i\) .

Вивести \(N\) рядків, як показано нижче.

  • Нехай \(d_i\) ​ — це кількість міст, безпосередньо пов’язаних із містом \(i\) (\(1≤i≤N\)), і ці міста — це міста \(a_{i,1}\) ​ , …, \(a_{i,d_i}\) ​ ​ у порядку зростання.
  • \(I\)-й рядок (\(1≤i≤N\)) має містити \(d_i + 1\) цілих чисел \(d_i\),\(a_{i,1}\) ,…,\(a_{i,d_i}\) ​ у такому порядку, розділених пробілами.

Обмеження

  • \(2≤N≤10^5\)
  • \(1≤M≤10^5\)
  • \(1≤A_i ​ <B_i ≤N\) (\(1≤i≤M\))
  • \((A_i ​,B_i ​) \neq (A_j ​,B_j)\), якщо (\(i \neq j)\).
  • Усі значення у вхідних даних є цілими числами.

Формат вхідних даних

Перший рядок містить цілі числа \(N,M\).

Наступні  \(M\) рядків містять по два цілі числа \(A_i, B_i\).

Формат вихідних даних

У вихідний потік виведіть N рядків, як зазначено в постановці задачі.

Приклад вхідних даних

6 6
3 6
1 3
5 6
2 5
1 2
1 6

Приклад вихідних даних

3 2 3 6
2 1 5
2 1 6
0
2 2 6
3 1 3 5

Міста, безпосередньо пов’язані з містом 1, це місто 2, місто 3 і місто 6. Таким чином, ми маємо \(d_1\) ​ =3,\(a_{1,1}\) ​ =2,\(a_{1,2}\) ​ =3,\(a_{1,3}\) ​ = 6, тому ви повинні вивести 3,2,3,6 у першому рядку в такому порядку, розділивши їх пробілами.

Зауважуємо, що \(a_{i,1}\) ​ ,…,\(a_{i,d_i}\) ​ має бути в порядку зростання. Наприклад, у такому порядку неприпустимо друкувати 3,3,2,6 у першому рядку.

Приклад вхідних даних

5 10
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5

Приклад вихідних даних

4 2 3 4 5
4 1 3 4 5
4 1 2 4 5
4 1 2 3 5
4 1 2 3 4

Коментарі

Ще немає коментарів.