С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 25.10.2021
Сообщений: 87
1

Проверить, является ли заданный ориентированный граф транзитивным

02.12.2021, 19:59. Показов 3353. Ответов 0

Author24 — интернет-сервис помощи студентам
Может кто-нибудь помочь в написании этой программы или хотя бы проверить мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <cstdio>
using namespace std;
 
int main() {
    int n;
    bool a[1000][1000];
    cin >> n;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cin >> a[i][j];
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            // если существует ориентированное ребро, соединяющее вершины i и j
            if (a[i][j]) {
                for (int z = 0; z < n; z++) {
                    // если из вершины j в вершину z ведёт ребро, но из i в z - нет, то граф нетранзитивен
                    if (a[j][z] && !a[i][z]) {
                        cout << "NO";
                        return 0;
                    }
                }
            }
        }
    }
    cout << "YES";
    return 0;
}
Напомним, что ориентированный граф называется транзитивным, если для
любых трех различных вершин u, v и w из того, что из u в вершину v ведет ребро
и из вершины v в вершину w ведет ребро, следует, что из вершины u в
вершину w ведет ребро.
Проверьте, что заданный ориентированный граф является транзитивным.
Входные данные
Сначала вводится число n ( 1n100) – количество вершин в графе, а
затем 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2021, 19:59
Ответы с готовыми решениями:

Проверить, является ли ориентированный граф, с заданным количеством узлов и рёбер, деревом
Дан ориентированный граф из n узлов и m рёбер. Проверить, является ли он деревом. Помогите...

Проверить, является ли заданный граф Эйлеровым
5) Проверить, является ли заданный граф Эйлеровым

Проверить, является ли заданный граф связным
Помогите, пожалуйста, исправить ошибку!!! edge(a, c). edge(a, b). edge(c, d). edge(b, d)....

Проверить является ли заданный граф связным
Проверить есть ли заданный граф связным

Проверить, является ли заданный неориентированный граф связным
проверить, есть ли заданный неориентированный граф связный #pragma argsused #include &lt;iostream&gt;...

0
02.12.2021, 19:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2021, 19:59
Помогаю со студенческими работами здесь

Проверить, является ли заданный неориентированный граф связным
Проверить, есть ли заданный неориентированный граф связным.

Проверить, является ли заданный неориентированный граф связным
Проверить, есть ли заданный неориентированный граф связным.

Проверить, является ли заданный неориентированный граф связным
Проверить, есть ли заданный неориентированный граф связным.C++ Нужен код

Проверить является ли заданный граф блоком SWI prolog
Граф задается списком ребер, нужно проверить является ли заданный граф блоком на SWI prolog. ...

Проверить, является ли отношение R Рефлексивным, Симметричным, Транзитивным
Дано множество A и бинарное отношение R ∈ A x A . R = {(1,2); (2,3); (4,5); (3,2); (1,3)},...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru