-8 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 35

Транзитивность неориентированного графа

18.09.2022, 13:21. Показов 4283. Ответов 4

Студворк — интернет-сервис помощи студентам
Ориентированный граф называется транзитивным, если для любых трех различных вершин u, v и w из того, что из u в вершину v ведет ребро и из вершины v в вершину w ведет ребро, следует, что из вершины u в вершину w ведет ребро. Проверьте, что заданный ориентированный граф является транзитивным.

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

Формат вывода
Выведите «YES», если граф является транзитивным, и «NO» в противном случае.

Пример

Ввод
5
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

Вывод
YES
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2022, 13:21
Ответы с готовыми решениями:

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

Транзитивность ориентированного графа
Напомним, что ориентированный граф называется транзитивным, если для любых трех различных вершин u, v и w из того, что из u в вершину v...

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

4
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
19.09.2022, 07:03
Лучший ответ Сообщение было отмечено Abricos47 как решение

Решение

Python
1
2
3
4
5
from itertools import combinations
 
n = int(input())
a =[list(map(int, input().split())) for _ in range(n)]
print(['NO', 'YES'][all((a[u][v] == 1 and a[v][w] == 1) <= (a[w][v] == 1) for u, v, w in combinations(range(n), 3))])
3
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
19.09.2022, 07:24
Сделать одну опечатку, чтобы ТС сделал усилие и попытался понять решение - такой подход только приветствую)
Abricos47, обращу ваше внимание, что по условию граф вроде ориентированный, а в заголовке неориентированный. Решение eaa дано (после исправления опечатки) для второго случая.
Если же граф все-таки ориентированный, то замените combinations на permutations
3
19.09.2022, 07:34

Не по теме:

Red white socks, а я сам не заметил, перепутал буквы ;)

0
0 / 0 / 0
Регистрация: 22.10.2021
Сообщений: 10
21.06.2023, 13:47
Не знаю, что за опечатку вы заметили. Если v и w, то для неориентированного графа это некритично, т.к. матрица, его задающая, симметрична относительно диагонали.
Другой вопрос, что с combinations для неориентированного графа работать не будет. Точнее будет, только если общая вершина - v (вторая).
Проверьте на тесте:
Кликните здесь для просмотра всего текста

5
0 1 1 0 0
1 0 0 0 0
1 0 0 0 0
0 0 0 0 0
0 0 0 0 0


Добавлено через 45 минут
Поскольку в combinations только один вариант сочетания элементов, без перестановки, то для получения правильного ответа нужна не одна, а три проверки:
Кликните здесь для просмотра всего текста
к этой проверке:
Python
1
a[u][v] == 1 and a[v][w] == 1) <= (a[w][v] == 1)
добавить ещё две проверки:
Python
1
a[u][v] == 1 and a[u][w] == 1) <= (a[u][v] == 1)
и
Python
1
a[u][w] == 1 and a[v][w] == 1) <= (a[u][v] == 1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.06.2023, 13:47
Помогаю со студенческими работами здесь

Сгенерировать матрицу смежности непустого неориентированного графа G(X, U), содержащего n вершин и m ребер
Помогите написать программу простую для создания графа. Пытался долго и ломал голову. Желательно не использовать не базовые модули по типу...

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

Алгоритм Прима: построение min остовного дерева взвешенного связного неориентированного графа (Си -> Python)
задача: Алгоритм Прима. Алгоритм Прима — алгоритм построения минимального остовного дерева взвешенного связного неориентированного графа....

Транзитивность смежной матрицы и транзитивность графа это разные вещи?
В своём коде проверяю граф на транзитивность (т.е. для любых трёх вершин u, v и w выполняется условие: если u и w, а также v и w смежны, то...

Реализовать обход графа неориентированного графа в глубину
Текст программы.Здесь его реализация в ширину #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru