zoukankan      html  css  js  c++  java
  • 【PAT甲级】1079 Total Sales of Supply Chain (25 分)

    题意:

    输入一个正整数N(<=1e5),表示共有N个结点,接着输入两个浮点数分别表示商品的进货价和每经过一层会增加的价格百分比。接着输入N行每行包括一个非负整数X,如果X为0则表明该结点为叶子结点接着输入一个整数表示该零售商进货的数量,X不为零则接着输入X个正整数表示它的下级经销商是哪些结点。输出所有零售商进货的总价。(结点从0~N-1,0为根节点即供应商)

    AAAAAccepted code:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int a[100007],lv[100007],ans[100007];
     4 vector<int>v[100007];
     5 void dfs(int x){
     6     for(int it=0;it<v[x].size();++it){
     7         lv[v[x][it]]=lv[x]+1;
     8         dfs(v[x][it]);
     9     }
    10 }
    11 int main(){
    12     int n;
    13     cin>>n;
    14     double p,r;
    15     cin>>p>>r;
    16     int cnt=0;
    17     for(int i=0;i<n;++i){
    18         int x,num;
    19         cin>>x;
    20         if(!x){
    21             cin>>num;
    22             a[i]=num;
    23             ans[++cnt]=i;
    24         }
    25         for(int j=1;j<=x;++j){
    26             cin>>num;
    27             v[i].push_back(num);
    28         }
    29     }
    30     dfs(0);
    31     double sum=0;
    32     for(int i=1;i<=cnt;++i){
    33         double tamp=1.0*a[ans[i]]*p*pow(1.0+0.01*r,lv[ans[i]]);
    34         sum+=tamp;
    35     }
    36     printf("%.1lf",sum);
    37     return 0;
    38 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    hdu2049.java
    java输入输出流小细节
    滚动字幕
    hdu4504java
    HDU2054JAVA
    hdu2058java
    hdu2073递推题
    [转]SELinux管理与配置
    Can't connect to MySQL server on 'XXX' (13)
    CentOS6.5+php5.3听云安装过程
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11823045.html
Copyright © 2011-2022 走看看