C++:Highest Price in Supply Chain

供应链是由零售商(零售商)、经销商(经销商)和供应商(供应商)------将产品从供应商到客户的所有环节构成的网络。

从一个根供应商开始,链上每个成员都以价格 PP 向自己的供应商采购产品,并以比 PP 高 rr% 的价格销售或分销。假设除根供应商外,供应链上的每个成员只有一个供应商,且不存在供应循环。

现在给定一个供应链,请告诉我们从零售商处可以获得的最高价格。

输入格式:

每个输入文件包含一个测试用例。第一行包含三个正数:NN(≤105≤105,供应链成员总数,编号为 0 到 N−1N−1)、PP(根供应商的价格)和 rr(每层经销或零售的价格增幅百分比)。第二行包含 NN 个整数 SiSi​,表示第 ii 个成员的供应商编号,根供应商的 SrootSroot​ 为 −1−1。行内数字以空格分隔。

输出格式:

输出一行,包含两个数:可预期的最高价格和达到该价格的零售商数量。最高价格保留两位小数,二者之间用一个空格分隔。保证结果不超过 10101010。

样例输入:

复制代码
9 1.80 1.00
1 5 4 4 -1 4 5 3 6

样例输出:

复制代码
1.85 2
cpp 复制代码
#include <iostream>
#include <vector>
#include <queue>
#include <bits/stdc++.h>
using namespace std;
int n;double p,r;
int main(){
    cin>>n>>p>>r;
    if(n==1){
        printf("%.2lf 1",p);
        return 0;
    }
    vector<int> v[n+5];
    int high[n+5]={0};
    int root=-1;
    for(int i=0;i<n;++i){
        int u;cin>>u;
        if(u==-1)root=i;
        else v[u].push_back(i);
    }
    int l=1;
    queue<int> q;
    q.push(root);
    while(!q.empty()){
        int u=q.front();
        q.pop();
        for(int j=0;j<v[u].size();++j){
            q.push(v[u][j]);
            high[v[u][j]]=high[u]+1;
        }
    }
    vector<int> vv;
    for(int i=0;i<n;++i){
        vv.push_back(high[i]);
    }
    sort(vv.begin(),vv.end());
    int la=vv.size()-1;
    long long maxx=vv[la];
    long long cnt=0;
    while(vv[la]==vv[vv.size()-1]){
        la--;
        cnt++;
    }
    double sum=0;
    sum=p;
    for(int i=0;i<vv[vv.size()-1];++i){
        sum*=1.0+r/100.0;
    }
    printf("%.2lf %lld",sum,cnt);
    return 0;
}
相关推荐
彧azz5 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
hansang_IR5 小时前
【题解】P4460 [CQOI2018] 解锁屏幕
c++·算法
嵌入式学习菌5 小时前
Modbus‑RTU 数据类型分析
开发语言·单片机·bug
ChampaignWolf6 小时前
在 SAP S/4HANA 内部基于 ICF Handler 从零实现 ABAP MCP Server:架构、代码与踩坑实录
c++·架构·sap·abap·mcp
matlab代码6 小时前
基于matlab数字图像处理的指纹识别系统【源码68期】
开发语言·matlab
matlab代码6 小时前
基于matlab的水果识别系统(苹果香蕉菠萝梨桃子)【源码65期】
开发语言·matlab
wuyk5557 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
weixin199701080167 小时前
[特殊字符]《跨境二手ERP对接Back Market:标准化API + 7~10工作日技术合规审核实录》(附Python源码)
开发语言·python·pandas
尘客-追梦7 小时前
Day 01:插件化之前,先看清 ABI 这堵墙
开发语言·c++·qt
持敬chijing7 小时前
Python-数据类型-列表
开发语言·python·青少年编程