• L2-020 功夫传人 (25分)


    分析: ⽤⼆维数 组v存储师⻔谱系关系,v[i]表示编号为i的师傅所拥有的徒弟,如果徒弟个数等于0,

    也就是说这是个得道者,那么v[i][0]保存放⼤的倍数,⽽且⽤visit[i] = true标记当前的这个编号的⼈是

    得道者~⽤深度

    优先搜索,每当遇到 visit[index] = true也就是说这是个得道者的时候,就累加放⼤后的功⼒,power * v[index][0],累加到result中~遍历v[index]的所有弟⼦,并将功⼒减弱r%,也就是 power * (1 – r/100),最后输出的是result的整数值 (int)result ~~~

    // Author : RioTian
    // Time : 20/11/24
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int N = 1e5 + 10;
    vector<vector<int>> v;
    int visit[N], n, k;
    double result, z, r;
    void dfs(int index, double power) {
        if (visit[index]) {
            result += power * v[index][0];
            return;
        }
        for (int i = 0; i < v[index].size(); ++i) {
            dfs(v[index][i], power * (1 - r / 100));
        }
    }
    int main() {
        // freopen("in.txt", "r", stdin);
        ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
        cin >> n >> z >> r;
        v.resize(n);
        for (int i = 0; i < n; ++i) {
            cin >> k;
            int tmp;
            if (k == 0) {
                cin >> tmp;
                v[i].push_back(tmp);
                visit[i] = true;
            } else {
                for (int j = 0; j < k; ++j) {
                    cin >> tmp;
                    v[i].push_back(tmp);
                }
            }
        }
        dfs(0, z);
        cout << (int)result << endl;
    }
    

    The desire of his soul is the prophecy of his fate
    你灵魂的欲望,是你命运的先知。

  • 相关阅读:
    使用 Web 服务 为 ECS Linux 实例配置网站及绑定域名
    部署 LAMP
    PHP与MYSQL事务处理
    centos6 yum 安装nginx 不成功解决办法
    5.5版本以上”No input file specified“问题解决
    php访问url的四种方式
    mysql索引总结----mysql 索引类型以及创建
    承诺,项目管理中的大杀器
    什么叫工作到位?
    Java中注解Annotation的定义、使用、解析
  • 原文地址:https://www.cnblogs.com/RioTian/p/14032540.html
Copyright © 2020-2023  润新知