2 条题解
- 
  0
#include<bits/stdc++.h> using namespace std; int deg[1010];//每一个结点的度数 int fa[1010];//每一个点的父亲结点 int main(){ freopen("p.in","r",stdin); freopen("p.out","w",stdout); int t; cin >> t; while(t --){ vector<int> vec[1010];//每一个的儿子编号 memset(deg,0,sizeof deg); memset(fa, 0, sizeof fa); int n; cin >> n; for (int i = 1; i <= n-1; i ++){ int x, y; cin >> x >> y; vec[x].push_back(y); fa[y] = x; deg[x] ++; } int cnt = 0; for (int i = 1; i <= n; i ++){//i代表结点编号 bool flag = true;//代表i这个结点是否大于等于儿子结点的度 for (int j = 0; j < vec[i].size(); j ++){ //j表示vector数组的下标 int u = vec[i][j];//与编号为i结点的儿子结点编号 if(deg[i] < deg[u]){ flag = false; break; } } int v = fa[i];//i结点的父亲结点编号 if(deg[i] >= deg[v] && flag){ cnt ++; } } cout << cnt << endl; } return 0; } 
信息
- ID
 - 436
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 9
 - 标签
 - (无)
 - 递交数
 - 340
 - 已通过
 - 36
 - 上传者