PAT甲级-1090 Highest Price in Supply Chain

题目

 

题目大意

一个供应链由供应商、经销商、零售商组成。供应商作为根节点,售卖价格为P的商品,每经过一级经销商或零售商都会以高于r%的价格批发或出售。题目给出总节点数n,每个节点的编号从0到n-1,给出的每个值是该节点编号的索引,也就是父。求商品的最大价格和售卖最大价格商品的零售商的个数。

思路

"each number Si is the index of the supplier for the i-th member"每个Si是第i个成员的供应商的索引,也就是说,Si是i的父节点。例如第一个数1,其索引为0,1是0的父节点,相当于知道父节点和它的孩子节点的信息,那么在接收输入的时候就可以将这个树用二维数组表示出来,一个维度表示根节点,另一个维度开一个数组表示孩子节点。

求树的深度当然要dfs,递归参数毫无疑问是根节点和递归深度。当遍历到叶子节点时就能return,在return前处理深度maxnum,和最大个数maxsize。maxnum比较简单,只要一直取当前递归深度和maxnum的最大值就可以了。但maxsize需要注意取的是最深层的节点个数,不是整个树的最大宽度,所以还要判断当前是否位于最大层。如果当前正处于最大层,说明遍历到了处于最大层的另一个叶子节点,maxnum++,如果遍历到了比最大层还要深的层,那么更新最大层,将maxnum重置为1。

代码

#include <iostream>
#include <vector>
#include <math.h>
using namespace std;vector<int> v[100003];
int maxn = 0, maxs = 0;  // 最大层数/深度,最大层对应的叶子节点个数void dfs(int root, int num){  // 根节点,当前深度if ((int)v[root].size() == 0){if (num == maxn){maxs++;  // 找到了另一个最大深度的叶子节点}else if (num > maxn){maxn = num;maxs = 1;  // 找到了一个更大深度的叶子节点}return;}else{for (int i = 0; i < (int)v[root].size(); i++){dfs(v[root][i], num + 1);}}
}  // 递归找最大深度和最大深度对应的节点个数int main(){int n;double p, r;cin >> n >> p >> r;int root;for (int i = 0; i < n; i++){int k;cin >> k;if (k == -1){root = i;}else{v[k].push_back(i);}}  // v既可以看成一维数组,又可看成二维数组。用二维数组来表示树dfs(root, 0);double res = p * pow(1 + r * 0.01, maxn);printf("%.2lf %d\n", res, maxs);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148865.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

臀部筋膜炎最佳治疗方法

臀部筋膜炎的最佳治疗方法因个体差异而异&#xff0c;但通常包括以下几个方面&#xff1a; 一、药物治疗 非甾体抗炎药&#xff1a;如布洛芬、双氯芬酸钠等&#xff0c;这些药物通过抑制前列腺素合成来减少炎症和疼痛&#xff0c;适用于缓解轻至中度的急性发作期臀部筋膜炎引…

跨平台数据库工具DataGrip v2024.2全新发布——增加智能刷新功能

DataGrip 是一个跨平台的数据库工具可在Windows&#xff0c;OS X 和 Linux上使用。同时支持多种数据库&#xff0c;包含了SQL Server&#xff0c;Oracle&#xff0c;PostgreSQL&#xff0c;MySQL&#xff0c;DB2&#xff0c;Sybase&#xff0c;SQLite&#xff0c;Derby&#xf…

智慧农业的引擎:高标准农田灌区信息化的探索与实践

在现代农业的广阔图景中&#xff0c;智慧农业作为一股革新力量&#xff0c;正逐步重塑着传统农业的面貌。其中&#xff0c;高标准农田灌区的信息化建设不仅是智慧农业的重要引擎&#xff0c;更是实现农业可持续发展、提高资源利用效率的关键路径。 高标准农田灌区信息化的内涵…

828华为云征文|华为云Flexus云服务器X实例 基于CentOS系统镜像快速部署Laravel开源论坛

最近公司可热闹了&#xff01;大家都在为搭建博客论坛系统忙得不可开交&#xff0c;尤其是在选服务器这件事儿上&#xff0c;那叫一个纠结。 同事 A 说&#xff1a;“咱得选个厉害的服务器&#xff0c;不然这论坛以后卡得跟蜗牛爬似的可咋办&#xff1f;” 同事 B 回应道&#…

C++11语法(基础)【一】

目录 1. C11简介 2. 统一的列表初始化 2.1 &#xff5b;&#xff5d;初始化 2.2 std::initializer_list 3. 声明 3.1 auto 3.2 decltype 3.3 nullptr 声明&#xff1a;C11我会分几篇来讲&#xff0c;每一篇我都会讲几种特性。 1. C11简介 在2003年C标准委员会曾经提交了一份技术…

slam入门学习笔记

SLAM是Simultaneous localization and mapping缩写&#xff0c;意为“同步定位与建图”&#xff0c;主要用于解决机器人在未知环境运动时的定位与地图构建问题&#xff0c;目前广泛用于机器人定位导航领域&#xff0c;VR/AR方面&#xff0c;无人机领域&#xff0c;无人驾驶领域…

【小白请绕道】Redis 的 I/O 多路复用技术,它是如何工作的?

Redis 的 I/O 多路复用技术是其高性能的关键之一。在单个线程中&#xff0c;Redis 可以同时处理多个网络连接&#xff0c;这是通过使用 I/O 多路复用技术实现的。这种技术允许 Redis 在单个线程中监听多个套接字&#xff0c;并在套接字准备好执行操作时&#xff08;如读取或写入…

STM32F1,F4,L1系列禁止JTAG和SW引脚方法

STM32F1系列 程序中在使用到JTAG、SWD的某个IO 时&#xff0c;需要禁用掉相关调试方法后&#xff0c;再配置相应的IO方式。在需要相应的接口配置前使用这些代码。 对于F1系列&#xff0c;调用函数进行专门的禁止。 标准库配置方式&#xff1a; RCC_APB2PeriphClockCmd(RCC_A…

2024源代码加密软件TOP10分享|企业源代码加密软件

在现代企业的数字化转型过程中&#xff0c;源代码作为企业核心知识产权之一&#xff0c;至关重要。为了防止数据泄漏、外部攻击以及内部违规操作&#xff0c;企业越来越关注源代码的加密和保护。本文将为大家介绍2024年最受欢迎的十大源代码加密软件&#xff0c;帮助企业更好地…

助力新能源汽车行业的发展,尽在AUTO TECH 2025华南展

随着全球对环境保护的重视和石油资源的逐渐减少&#xff0c;新能源汽车的发展已经成为必然趋势。预计未来几年&#xff0c;新能源汽车的市场规模和销量将继续保持快速增长。根据 IDC 预测&#xff0c;中国乘用车市场中新能源车市场规模将在 2028 年超过 2300 万辆&#xff0c;年…

面试经典 150 题:力扣88. 合并两个有序数组

每周一道算法题启动 题目 【题目链接】 【解法一】合并后排序 排序后的数组自动省略0的数字&#xff0c;又学到了 class Solution { public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {//合并两个数组后排序for(int i0; i<…

基于springboot渔具销售系统设计与开发

文未可获取一份本项目的java源码和数据库参考。 选题背景及意义 随着社会的发展,渔具销售企业之间的竞争与合作变得越来越频繁.而销售部门作为企业的窗口,其地位无与伦比。在激烈的市场竞争中,企业要能对市场变化作出反应,销售部门起了关键作用,销售部门作为企业的生命已经成了…

什么味道呀!热播剧《凡人歌》启示:这几年,请主动给生活降级——早读(逆天打工人爬取热门微信文章解读)

试试就试试 引言Python 代码第一篇 洞见 热播剧《凡人歌》启示:这几年&#xff0c;请主动给生活降级第二篇 在错误的地方重复&#xff0c;毫无价值结尾 &#xff08;哈哈哈 真的吗&#xff1f;&#xff09; 引言 回复平静 啥啥都回复平静 家里人不要钱了 股票也跌停了 哈哈 怎…

搭建EMQX MQTT服务器并接入Home Assistant和.NET程序

本文主要介绍如何使用Docker搭建EMQX MQTT服务器&#xff0c;并将其接入到Home Assistant中&#xff0c;最后演示如何使用.NET接入MQTT。 1. 背景 在智能家居系统中&#xff0c;MQTT&#xff08;消息队列遥测传输协议&#xff09;是一种轻量级的消息传输协议&#xff0c;特别适…

leetcode-10. 正则表达式匹配

题目描述 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c;是要涵盖 整个 字符串 s 的&#xff0c;而不是部分字符串。 示例 1&#xff1a; 输入&a…

稀土阻燃剂应用在PE(聚乙烯)上的优势

稀土阻燃协效剂基于稀土4f电子层结构带来的特有属性,在聚合物材料燃烧时可催化酯化成炭,迅速在高分子表面形成致密连续的碳层,隔绝聚合物材料内部的可燃性气体与氧气的接触,从而达到阻燃抑烟的效果,且燃烧时不产生有毒有害气体。其主要特点如下&#xff1a; 有效性&#xff1a;…

巡检系统新选择:零代码设备巡检系统的优势与功能

在现代工业生产中&#xff0c;设备的稳定运行是企业正常生产的关键。为了确保设备的可靠性和安全性&#xff0c;设备巡检系统成为了企业不可或缺的工具。而零代码设备巡检系统以其独特的优势&#xff0c;为企业的设备管理带来了全新的体验。 目前&#xff0c;市场上的巡检系统种…

OpenAI o1模型怎么使用,这篇文章告诉你

九月最大的热点无疑就是OpenAI推出o1模型 此次发布的o1 系列模型就是之前内部代码为“草莓”模型。 下面就给大家介绍一下此次o1模型的强大之处以及使用方法。 如果大家想要了解OpenAI o1方法&#xff0c;可直接拉到文章末尾。 1.、博士级学科能力 o1模型在推理能力上展现出…

[笔记]一组电缆、定位相关产品的技术参数

csdn不允许做广告&#xff0c;这里的那家定位供应商的技术看起来是可以的。很有希望。它的原理并不复杂&#xff0c;这家企业在处理业务领域以外的新型产品时&#xff0c;是查过资料的&#xff0c;这就超过了60%的同行。 1.电缆 仅给出现在市面供应的铠装电缆结构&#xff0c…

只用几行代码,不依赖任何框架?SMTFlow 轻松实现前端流程图

只用几行代码&#xff0c;不依赖任何框架&#xff1f;SMTFlow 轻松实现前端流程图&#xff01; 在前端开发中&#xff0c;如果你需要一个简单好用的流程图设计工具&#xff0c;SMTFlow 绝对是你的不二之选&#xff01;本文将介绍 SMTFlow 的核心功能、特点以及如何快速上手。 工…