Обход в глубину

105 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
В неориентированном графе посчитать количество компонент связности. В графе могут быть петли и кратные ребра.
 
Входные данные: В первой строке записаны сначала два числа N и M, задающие соответственно количество вершин и количество ребер (1<=N<=100, 0<=M<=10000), а затем перечисляются ребра. Каждое ребро задается двумя номерами вершин, которые оно соединяет. 
 
Выходные данные: Выведите одно число - количество компонент связности
 
Примеры
Входные данные Выходные данные
1
3 4
1 1
1 2
1 3
2 3
1
2
5 3
1 1
1 2
2 1
4
3 5 0 5
✓ 1 101✗ 1 365300лёгкаяВойти и решать
В клубе N человек. Многие из них - друзья. Так же известно, что друзья друзей так же являются друзьями. Требуется выяснить, сколько всего друзей у конкретного человека в клубе.
 
Входные данные
 
В первой строке входного файла INPUT.TXT заданы два числа: N и S (1 <= N <= 100; 1 <= S <= N), где N - количество человек в клубе, а S – номер конкретного человека. В следующих N строках записано по N чисел - матрица смежности, состоящая из единиц и нулей. Причем единица, стоящая в i-й строке и j-м столбце гарантирует, что люди с номерами i и j – друзья, а 0 – выражает неопределенность.
 
Выходные данные
 
В выходной файл OUTPUT.TXT выведите количество гарантированных друзей у человека с номером S, помня о транзитивности дружбы.

Пример

Ввод:
3 1
0 1 0
1 0 1
0 1 0

Вывод
2
Дан связный ориентированный невзвешенный граф. Требуется вывести номера вершин из которых исходят все его перекрестные ребра (нумерация с 1).
 
Входные данные:
Целое число n и m - число вершин и ребер в графе.
Следующие m строк содержат 2 числа a и b, показывающие, что из вершины a есть ребро в вершину b.
 
Выходные данные:
В первой строке должно находиться число n - количество перекрестных ребер, в следующей строке должны быть перечисленны вершины в порядке возрастания без повторений. Если таковых нет, тогда следует вывести -1.
 
Вам задан неориентированный связный граф с N вершинами и М ребрами (1 ? N ? 20000, 1 ? М ? 200 000). В графе отсутствуют петли и кратные ребра.
 
Найдите все точки сочленения в заданном графе.
 
Формат входного файла:
Граф задан во входном файле следующим образом: первая строка содержит числа N и М. Каждая из следующих М строк содержит описание ребра - два целых числа из диапазона от 1 до N - номера концов ребра.
 
Формат выходного файла:
На первой строке выведите число С - количество точек сочленения в заданном графе. На следующей строке выведите С целых чисел - номера вершин, которые являются точками сочленения, в возрастающем порядке. 
Дан ориентированный невзвешенный связный граф. Требуется определить, содержит ли он циклы.
 
Входные данные: Первая строка содержит одно натуральное число n — количество вершин (0 ≤ n ≤ 1 111).
Следующие n строк содержат матрицу смежности графа. Если в позиции (i, j) квадратной матрицы стоит единичка, то i-ый и j-ый ребра соединены ребрами, а если нолик, то не соединены. При этом ребро направленно из i-ого в j-ое ребро графа, и j-ое и i-ое ребро не соеденены ребрами.
 
Выходные данные: Первая строка должна содержать YES, если граф содержит цикл и NO — в противном случае.

Примеры
Входные данные Выходные данные
1
8
0 1 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 1 1 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
YES

 
Поделиться
Класснуть