zoukankan      html  css  js  c++  java
  • 寻找宝藏

    题目描述 
    有一棵多叉树T,你在树根处,宝藏在某一叶子节点L。现在你沿着树枝向叶子方向走去,从不回头,如果遇到树叉节点,你等概率地挑选一个分支继续走。请问,在给定T,L的情况下,你有多大概率拿到宝藏?

    输入格式 
    第一行,整数N,M,L(1< N< 1000,0< M< 1000,0< L< N),分别代表树T上的节点数、树枝的个数,宝藏所在节点。树根为0号结点。 
    然后有M行,每行两个整数A,B(0≤ A,B< N)代表从节点A到节点B有一条树枝。可以假设节点A总是更靠近树根。

    输出格式 
    所求的概率,输出四舍五入到6位小数,然后换行。

    输入样例 
    6 5 5 
    0 1 
    1 3 
    0 2 
    2 4 
    2 5 
    输出样例 
    0.250000

    #include <stdio.h>  
    #define MAXN 1005  
    
    int father[MAXN] = { -1 }, son[MAXN] = { 0 };
    
    main()
    {
        int l, b, tar, x, y;
        double revp = 1;
        scanf("%d%d%d", &l, &b, &tar);
        while (b--) {
            scanf("%d%d", &x, &y);
            son[x]++; 
            father[y] = x;
        }
        while (father[tar] != -1) {
            tar = father[tar];
            revp *= son[tar];
        }
        printf("%lf
    ", 1 / revp);
        return 0;
    }
  • 相关阅读:
    js键盘事件以及键盘事件拦截
    JavaScript 延迟加载
    二叉树深度优先 求二叉树最大深度
    css 小知识点:inline/inline-block/line-height
    es6 set
    CSS 水平垂直居中
    js 位运算符
    js 函数重载
    js之单例模式
    js 面向对象 ES5 AND ES6
  • 原文地址:https://www.cnblogs.com/xym4869/p/8657734.html
Copyright © 2011-2022 走看看