1090 highest price in supply chain

p,r用double类型,pat多题如果用float会WA

AC代码

#include <vector>
#include <cstdio>
#include <cmath>
using namespace std;
int main(){
    int n;
    double p,r;
    scanf("%d %lf %lf",&n,&p,&r);
    r /= 100.0;
    vector<int> s;
    vector<int> ret(n);
    vector<bool> vs(n,false);
    for(int i = 0;i < n;i++){
        int tmp;
        scanf("%d",&tmp);
        if(tmp == -1){
            ret[i] = 0;
            vs[i] = true;
        }
        s.push_back(tmp);
    }
    int max(0);
    for(int i = 0;i < s.size();i++){
        if(vs[i])
            continue;
        else{
            vector<int> tmp;
            int id(i);
            while(id != -1){
                tmp.push_back(id);
                id = s[id];
                if(vs[id])
                    break;
            }
            for(int j = 0;j < tmp.size();j++){
                vs[tmp[j]] = true;
                ret[tmp[j]] = ret[id] + tmp.size() - j;
            }
            if(ret[tmp[0]] > max)
                max = ret[tmp[0]];
        }
    }
    int count(0);
    for(int i = 0;i < ret.size();i++){
        if(ret[i] == max)
            count++;
    }
    printf("%.2lf %d\n",p * pow(1+r,max),count);
    return 0;
}
时间: 2024-11-10 19:27:51

1090 highest price in supply chain的相关文章

1090. Highest Price in Supply Chain (25)【树】——PAT (Advanced Level) Practise

题目信息 1090. Highest Price in Supply Chain (25) 时间限制200 ms 内存限制65536 kB 代码长度限制16000 B A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)– everyone involved in moving a product from supplier to customer. Starting from o

PAT 1090 Highest Price in Supply Chain[较简单]

1090 Highest Price in Supply Chain(25 分) A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root supplier, everyone on the chain bu

PAT 1090. Highest Price in Supply Chain (25)(DFS啊 )

题目链接:http://www.patest.cn/contests/pat-a-practise/1090 A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root supplier, everyone o

1090. Highest Price in Supply Chain (25)

时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root supplie

PAT 1090. Highest Price in Supply Chain

A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root supplier, everyone on the chain buys products from one's supplier in a pric

1090 Highest Price in Supply Chain (25 分)

A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root supplier, everyone on the chain buys products from one's supplier in a pric

1090 Highest Price in Supply Chain (25 分)

A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root supplier, everyone on the chain buys products from one's supplier in a pric

PAT (Advanced Level) 1090. Highest Price in Supply Chain (25)

简单dfs. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<map> #include<queue> #include<stack> #include<vector> using namespace std; const int maxn=100000+10; vector<int>g[

PAT:1090. Highest Price in Supply Chain (25) AC

#include<stdio.h> #include<vector> using namespace std; const int MAX=100010; int DEPest=0,times=0; vector<int> child[MAX]; //child[父亲][孩子] 二维数组表示树形结构 void DFS(int root,int depth) { if(child[root].size()==0) //叶子节点开始判断深度 { if(depth>DE