В каких еще случаях граф называется ориентированным? Решаю задачу и не могу придумать тесты для задачи. Решение такое: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 тест. И я не понимаю, будет ли граф ориентированным, если количество вершин <= 1 или количество ребер = 0? Какие тесты можно придумать?
Граф называется ориентированным, если каждое ребро графа имеет направление. То есть каждое ребро идет от одной вершины к другой, и оно имеет определенное направление.
Чтобы протестировать свое решение, можно придумать следующие тесты:
Граф называется ориентированным, если каждое ребро графа имеет направление. То есть каждое ребро идет от одной вершины к другой, и оно имеет определенное направление.
Чтобы протестировать свое решение, можно придумать следующие тесты:
Ввод:
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
Попробуйте запустить ваше решение на этих тестах и проверьте, правильно ли оно определяет ориентированный граф.