A90645.Fish

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

湖中生活着 nn 条鱼,编号从 11nn。每天,恰好有一对鱼相遇,每一对鱼相遇的概率相同。如果编号为 iijj 的两条鱼相遇,编号为 ii 的鱼以概率 aija_{ij} 吃掉编号为 jj 的鱼,编号为 jj 的鱼以概率 aji=1aija_{ji}=1-a_{ij} 吃掉编号为 ii 的鱼。上述过程会一直持续,直到湖中只剩下一条鱼。请计算每条鱼成为湖中最后一条鱼的概率。

输入格式

第一行包含一个整数 nn1n181 \leq n \leq 18),表示湖中的鱼的数量。接下来有 nn 行,每行包含 nn 个实数,构成矩阵 aaaija_{ij}0aij10 \leq a_{ij} \leq 1)表示编号为 ii 的鱼吃掉编号为 jj 的鱼的概率。保证主对角线上的元素全为 00,且对于其他元素有 aij=1ajia_{ij} = 1 - a_{ji}。所有实数均保留不超过 66 位小数。

输出格式

输出 nn 个用空格分隔的实数,每个实数精确到 66 位小数。第 ii 个数表示编号为 ii 的鱼成为湖中最后一条鱼的概率。

输入输出样例

  • 输入#1

    2
    0 0.5
    0.5 0
    

    输出#1

    0.500000 0.500000 
  • 输入#2

    5
    0 1 1 1 1
    0 0 0.5 0.5 0.5
    0 0.5 0 0.5 0.5
    0 0.5 0.5 0 0.5
    0 0.5 0.5 0.5 0
    

    输出#2

    1.000000 0.000000 0.000000 0.000000 0.000000 
首页