zoukankan      html  css  js  c++  java
  • 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
    你灵魂的欲望,是你命运的先知。

  • 相关阅读:
    javaEE项目部署方式
    Docker安装mysql5.6
    自定义镜像mycentos
    DockerFile体系结构(保留字指令)
    Cognition math based on Factor Space (2016.05)
    MATLAB画ROC曲线,及计算AUC值
    MATLAB时间序列预测Prediction of time series with NAR neural network
    因素空间发展评述
    ps 证件照(1,2寸)
    kali linux wmtools安装
  • 原文地址:https://www.cnblogs.com/RioTian/p/14032540.html
Copyright © 2011-2022 走看看