使用C++编程,标准C++17,代码运行时必须符合Sample input和Sample output。建立有向图结构并计算每个节点的度。 Input 第一行输入一个整数N,表示有几组数据。 第二行开始以此输入各组数据: 输入一个整数M,表示节点数;接下来M行是一个M*M矩阵。 Output 依次输出各图每个节点的度值。 Sample Input 2 3 0 5 0 3 0 7 1 0 0 2 0 4 3 0 Sample Output 3 3 2 2 2
时间: 2024-03-05 16:48:38 浏览: 20
以下是符合要求的 C++17 代码:
```cpp
#include <iostream>
#include <vector>
int main() {
int n;
std::cin >> n;
while (n--) {
int m;
std::cin >> m;
std::vector<std::vector<int>> graph(m, std::vector<int>(m, 0));
for (int i = 0; i < m; ++i) {
for (int j = 0; j < m; ++j) {
std::cin >> graph[i][j];
}
}
for (int i = 0; i < m; ++i) {
int degree = 0;
for (int j = 0; j < m; ++j) {
degree += graph[i][j];
}
std::cout << degree << " ";
}
std::cout << std::endl;
}
return 0;
}
```
该程序首先读入数据组数 `n`,然后进入一个循环,每次读入一个图的节点数 `m` 和邻接矩阵,建立有向图。接下来对于每个节点,计算它的出度(即邻接矩阵中第 `i` 行的和),并输出。