zoukankan      html  css  js  c++  java
  • 【PAT甲级】1106 Lowest Price in Supply Chain (25分)

    题意:
    输入一个正整数N(<=1e5),两个小数P和R,分别表示树的结点个数和商品原价以及每下探一层会涨幅的百分比。输出叶子结点深度最小的商品价格和深度最小的叶子结点个数。

    trick:

    测试点1只有根节点一个点,输出P和1。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 vector<int>v[100007];
     5 int store[100007];
     6 void dfs(int x,int y){
     7     if(v[x].size()==0)
     8         store[x]=y;
     9     for(auto it:v[x]){
    10         dfs(it,y+1);
    11     }
    12 }
    13 int main(){
    14     ios::sync_with_stdio(false);
    15     cin.tie(NULL);
    16     cout.tie(NULL);
    17     int n;
    18     cin>>n;
    19     double p,r;
    20     cin>>p>>r;
    21     for(int i=0;i<n;++i){
    22         int x;
    23         cin>>x;
    24         for(int j=1;j<=x;++j){
    25             int y;
    26             cin>>y;
    27             v[i].push_back(y);
    28         }
    29     }
    30     dfs(0,0);
    31     int mn=1e9;
    32     for(int i=0;i<n;++i)
    33         if(store[i])
    34             mn=min(mn,store[i]);
    35     int num=0;
    36     if(mn==1e9)
    37         mn=0;
    38     for(int i=0;i<n;++i)
    39         if(store[i]==mn)
    40             ++num;
    41     double ans=pow(1.0+r/100,mn);
    42     ans*=p;
    43     printf("%.4lf %d",ans,num);
    44     return 0;
    45 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    写诊股广告页面遇到的问题
    移动端web页面滚动不流畅,卡顿闪烁解决方案
    用JS和JQ来获取子节点!
    CSS样式表的写作规范
    常用css3
    移动端引用echarts的折线图
    JS----获取DOM元素的方法(8种)
    随机对决
    字体
    Echarts个性化图表的样式--绘制南丁格尔图
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11985908.html
Copyright © 2011-2022 走看看