В каких еще случаях граф называется ориентированным? Решаю задачу и не могу придумать тесты для задачи.
Решение такое:N = int(input())
G = [[0]*N for _ in range(N)]
p = 0
for i in range(N):
G[i] = list(map(int, input().split()))
p += sum(G[i])
if p == 0:print("NO"); exit();
for i in range(N):
for j in range(N):
if (i == j and G[i][j] == 1):
print("NO");exit()
elif (G[i][j] != G[j][i]):
print("YES");exit()
print("NO")
Т.е. если у графа есть хоть одно ребро, имеющее направление, то это орграф. Но не проходит 13 тест.
И я не понимаю, будет ли граф ориентированным, если количество вершин

20 Окт 2019 в 20:02
255 +1
1
Ответы
1

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

Чтобы протестировать свое решение, можно придумать следующие тесты:

Ввод:
3
0 1 0
0 0 1
1 0 0
Ожидаемый вывод: YES

Ввод:
2
0 0
0 0
Ожидаемый вывод: NO

Ввод:
1
0
Ожидаемый вывод: NO

Ввод:
3
1 0 1
1 0 0
0 0 0
Ожидаемый вывод: YES

Ввод:
4
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
Ожидаемый вывод: NO

Попробуйте запустить ваше решение на этих тестах и проверьте, правильно ли оно определяет ориентированный граф.

19 Апр 2024 в 10:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир