输入 复制 3 2 2 3 0 0 输出 复制 1 c++代码
时间: 2024-04-15 15:30:51 浏览: 77
输入输出c++程序
抱歉,之前给出的代码有一处错误。在输入部分,应该是逐行读取节点的子节点个数和子节点编号,而不是读取整行的整数。
下面是修正后的代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> tree;
vector<int> degree;
int evenCount = 0;
void dfs(int node) {
for (int i = 0; i < tree[node].size(); i++) {
int child = tree[node][i];
degree[node]++;
degree[child]++;
dfs(child);
}
if (degree[node] % 2 == 0) {
evenCount++;
}
}
int main() {
int n;
cin >> n;
tree.resize(n + 1);
degree.resize(n + 1, 0);
for (int i = 1; i <= n; i++) {
int m;
cin >> m;
for (int j = 0; j < m; j++) {
int child;
cin >> child;
tree[i].push_back(child);
}
}
dfs(1);
cout << evenCount << endl;
return 0;
}
```
这样,你可以尝试使用输入示例进行测试。再次抱歉给你带来困扰!如果还有其他问题,请随时提问。
阅读全文