数据结构(Python) 设有向图G,试找出图中出度为0的顶点有多少个? 输入格式: 输入数据有多组,每组数据第一行为一个正整数vertexnum( 0<vertexnum<500 ),代表G的顶点数目,接下来是有向图G的邻接矩阵。 输出格式: 对于每组数据,请在一行里输出出度为0的顶点个数。 输入样例: 在这里给出两组输入。例如: 3 0 0 1 0 0 0 1 0 0 5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 输出样例: 在这里给出相应的输出。例如: 1 3
时间: 2024-01-01 13:06:33 浏览: 58
以下是 Python 代码实现:
```python
while True:
try:
n = int(input())
matrix = []
for i in range(n):
row = list(map(int, input().split()))
matrix.append(row)
out_degree_zero = 0
for i in range(n):
out_degree = 0
for j in range(n):
out_degree += matrix[i][j]
if out_degree == 0:
out_degree_zero += 1
print(out_degree_zero)
except:
break
```
解释如下:
- 首先进入一个死循环,不断地读入数据,直到遇到异常结束程序。
- 读入顶点数 n,然后读入邻接矩阵。
- 用 out_degree_zero 记录出度为 0 的顶点个数,初始化为 0。
- 对于每个顶点 i,遍历其邻接矩阵的一行,将其所有出边的权值相加,得到 out_degree。
- 如果 out_degree 等于 0,说明顶点 i 没有出边,即出度为 0,将 out_degree_zero 加 1。
- 最后输出 out_degree_zero,即出度为 0 的顶点个数。
阅读全文