Неориентированный граф задан
списком ребер. Найдите степени всех вершин графа.
Вход. Первая
строка содержит количество вершин в графе n
(1 ≤ n ≤ 100) и
количество ребер m (1 ≤ m ≤ n * (n – 1) / 2). Затем следуют
m пар чисел – ребра графа.
Выход. Выведите
n чисел – степени вершин графа.
Пример
входа |
Пример
выхода |
4 4 1 2 1 3 2 3 3 4 |
2 2 3 1 |
графы
Построим массив deg, где deg[i] содержит степень i-ой вершины.
Для каждого ребра (a, b) увеличим степень вершин a и b (deg[a]++, deg[b]++).
Граф, приведенный
в примере, имеет вид:
Объявим массив deg, где deg[i] будет содержать степень i-ой вершины.
int deg[101];
Читаем количество вершин и ребер.
scanf("%d
%d", &n, &m);
Для каждого ребра (a, b) увеличиваем степень вершин a и b.
for (i =
0; i < m; i++)
{
scanf("%d
%d", &a, &b);
deg[a]++; deg[b]++;
}
Выводим степени
вершин.
for (i =
1; i <= n; i++)
printf("%d\n",
deg[i]);