2025/26, Кружок для начинающих, Графы 0

A: Подсчет количества ребер неориентированного графа

Простой неориентированный граф задан матрицей смежности. Найдите количество ребер в графе.

Формат входных данных

На вход программы поступает число \(n\) \((1 \le n \le 100)\) – количество вершин в графе, а затем \(n\) строк по \(n\) чисел, каждое из которых равно \(0\) или \(1\), – его матрица смежности.

Формат выходных данных

Выведите одно число – количество ребер заданного графа.

Пример

ВводВывод
5
0 0 1 0 0 
0 0 1 0 1 
1 1 0 0 0 
0 0 0 0 0 
0 1 0 0 0
3

B: От списка ребер к матрице смежности, неориентированный вариант

Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности.

Формат входных данных

На вход программы поступают числа \(n\) \((1 \le n \le 100)\) – количество вершин в графе и \(m\) \((1 \le m \le \frac{n(n - 1)}{2}\)) – количество ребер. Затем следует \(m\) пар чисел – ребра графа.

Формат выходных данных

Выведите матрицу смежности заданного графа.

Пример

ВводВывод
5 3
1 3
2 3
2 5
0 0 1 0 0 
0 0 1 0 1 
1 1 0 0 0 
0 0 0 0 0 
0 1 0 0 0

C: От списка ребер к матрице смежности, ориентированный вариант

Простой ориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности.

Формат входных данных

На вход программы поступают числа \(n\) \((1 \le n \le 100)\) – количество вершин в графе и \(m\) \((1 \le m \le \frac{n(n - 1)}{2}\)) – количество ребер. Затем следует \(m\) пар чисел – ребра графа.

Формат выходных данных

Выведите матрицу смежности заданного графа.

Пример

ВводВывод
5 3
1 3
2 3
5 2
0 0 1 0 0 
0 0 1 0 0 
0 0 0 0 0 
0 0 0 0 0 
0 1 0 0 0

D: От матрицы смежности к списку ребер, неориентированный вариант

Простой неориентированный граф задан матрицей смежности, выведите его представление в виде списка ребер.

Формат входных данных

Входные данные включают число \(n\) \((1 \le n \le 100)\) – количество вершин в графе, а затем \(n\) строк по \(n\) чисел, каждое из которых равно \(0\) или \(1\), – его матрицу смежности.

Формат выходных данных

Выведите  список ребер заданного графа (в любом порядке).

Пример

ВводВывод
5
0 0 1 0 0 
0 0 1 0 1 
1 1 0 0 0 
0 0 0 0 0 
0 1 0 0 0
1 3
2 3
2 5

E: От матрицы смежности к списку ребер, ориентированный вариант

Ориентированный граф задан матрицей смежности, выведите его представление в виде списка ребер.

Формат входных данных

Входные данные включают число \(n\) \((1 \le n \le 100)\) – количество вершин в графе, а затем \(n\) строк по \(n\) чисел, каждое из которых равно \(0\) или \(1\), – его матрицу смежности.

Формат выходных данных

Выведите  список ребер заданного графа (в любом порядке).

Пример

ВводВывод
5
0 0 0 0 0 
0 0 0 0 1 
1 1 0 0 0 
0 0 0 0 0 
0 0 0 0 0
2 5
3 1
3 2

F: Степени вершин

Неориентированный граф задан матрицей смежности. Найдите степени всех вершин графа.

Формат входных данных

Сначала вводится число \(n\) \((1 \le n \le 100)\) – количество вершин в графе, а затем \(n\) строк по \(n\) чисел, каждое из которых равно \(0\) или \(1\), – его матрица смежности.

Формат выходных данных

Выведите \(n\) чисел – степени вершин графа.

Пример

ВводВывод
5
0 0 1 0 0 
0 0 1 0 1 
1 1 0 0 0 
0 0 0 0 0 
0 1 0 0 0
1
2
2
0
1

G: Степени вершин по спискам ребер

Неориентированный граф задан списком ребер. Найдите степени всех вершин графа.

Формат входных данных

Сначала вводятся числа \(n\) \((1 \le n \le 100)\) – количество вершин в графе и \(m\) \((1 \le m \le \frac{n(n - 1)}{2})\) – количество ребер. Затем следует \(m\) пар чисел – ребра графа.

Формат выходных данных

Выведите \(n\) чисел – степени вершин графа.

Пример

ВводВывод
5 3
1 3
2 3
2 5
1
2
2
0
1