11967. Список суміжності
Є \(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
Коментарі