Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
-8 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 35

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

18.09.2022, 13:21. Показов 4275. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru