信息学奥赛一本通 1336:【例3-1】找树根和孩子

题目

1336:【例3-1】找树根和孩子

考点

  1. 树的存储和相关概念

代码

#include<iostream>
#include<queue>
using namespace std;
const int N = 108;
int parent[N], degrees[N];
// parent[i]表示节点i的父节点
// degrees[i]表示节点i的度

// 插入一条边,从x到y
void insert(int x, int y) {
	parent[y] = x;
}

// 找树根,统计度
int getRoot(int n) {
	int k = 0;
	for (int i = 1; i <= n; i++) {
		if (parent[i] == 0) k = i;  // 根节点的父亲是0
		degrees[parent[i]]++;
	}
	return k;
}

// 找度最大的节点
int getMax(int n) {
	int maxi = 0, deg = 0;
	for (int i = 1; i <= n; i++)
		if (degrees[i] > deg) {
			deg = degrees[i];
			maxi = i;
		}
	return maxi;
}
// 输出节点p的所有孩子
void printSons(int n, int p) {
	for (int i = 1; i <= n; i++) 
		if (parent[i] == p) cout << i << " ";
}
int main() {
	int n, m;
	cin >> n >> m;
	// 插入边
	for (int i = 1; i <= m; i++) {
		int x, y;
		cin >> x >> y;
		insert(x, y);
	}
	cout << getRoot(n) << endl;
	int p = getMax(n);
	cout << p << endl;
	printSons(n, p);

	return 0;
}

评测结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
[{"valie1":"日期","valie2":"品种","valie3":"燃料级别","valie4":"结算重量","valie5":"水分","valie6":"灰分","valie7":"低位热值","valie8":"占比"},{"valie1":"2023-07-01","valie2":"树根Z","valie3":"一级","valie4":"8.66","valie5":"29.9","valie6":"5","valie7":"2100","valie8":"0.72%"},{"valie1":"2023-07-01","valie2":"枝丫Z","valie3":"一级","valie4":"6.7","valie5":"41.2","valie6":"10","valie7":"2200","valie8":"0.56%"},{"valie1":"2023-07-01","valie2":"薪材S","valie3":"一级","valie4":"107.48","valie5":"44.24","valie6":"13.11","valie7":"1848.74","valie8":"8.99%"},{"valie1":"2023-07-01","valie2":"板皮S","valie3":"一级","valie4":"619.2","valie5":"32.61","valie6":"13.74","valie7":"2287.92","valie8":"51.76%"},{"valie1":"2023-07-01","valie2":"枝丫S","valie3":"一级","valie4":"414.92","valie5":"40.99","valie6":"28.17","valie7":"1502.87","valie8":"34.69%"},{"valie1":"2023-07-01","valie2":"边角余料S","valie3":"一级","valie4":"39.22","valie5":"54.03","valie6":"14.93","valie7":"1398.96","valie8":"3.28%"},{"valie1":"合计","valie2":"","valie3":"","valie4":"1196.18","valie5":"37.29","valie6":"18.64","valie7":"1945.14","valie8":"100%"},{"valie1":"2023-07-02","valie2":"树皮S","valie3":"一级","valie4":"39.56","valie5":"48.11","valie6":"12.69","valie7":"1561.51","valie8":"4.28%"},{"valie1":"2023-07-02","valie2":"枝丫S","valie3":"一级","valie4":"266.84","valie5":"38.62","valie6":"24.96","valie7":"1716.44","valie8":"28.89%"},{"valie1":"2023-07-02","valie2":"边角余料S","valie3":"一级","valie4":"39","valie5":"56.83","valie6":"5.24","valie7":"1478.41","valie8":"4.22%"},{"valie1":"2023-07-02","valie2":"枝丫Z","valie3":"一级","valie4":"31.14","valie5":"41.2","valie6":"10","valie7":"2200","valie8":"3.37%"},{"valie1":"2023-07-02","valie2":"薪材S","valie3":"一级","valie4":"133.6","valie5":"39.87","valie6":"15.09","valie7":"1912.4","valie8":"14.47%"},{"valie1":"2023-07-02","valie2":"板皮S","valie3":"一级","valie4":"395.54","valie5":"34.01","valie6":"14.45","valie7":"2202.4","valie8":"42.83%"},{"valie1":"2023-07-02","valie2":"边角余料Z","valie3":"二级","valie4":"17.9","valie5":"29.8","valie6":"3.09","valie7":"2866","valie8":"1.94%"},{"valie1":"合计","valie2":"","valie3":"","valie4":"923.58","valie5":"37.92","valie6":"16.74","valie7":"1974.8","valie8":"100%"}]juqery 对valie1统计返回需要跨几行
07-15

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值