程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++編程-一道小題,求大神助攻!

c++編程-一道小題,求大神助攻!

編輯:編程綜合問答
一道小題,求大神助攻!

池塘裡養了n條魚,從1到n編號,每天等概率地出現兩條魚相互決斗(一條魚不會和自己決斗),決斗之後必有一條魚死掉,一條魚生存。我們用p[i][j]表示第i條魚打敗第j條魚的概率。那麼n-1天後,池塘裡只有一條魚,現在要你求出這最後一條魚是第i條魚的概率。

輸入
一個數n,接下來是有n行n列,第i行第j列為p[i][j]。輸入保證p[i][j]+p[j][i]=1。

輸出
輸出n行,每行一個數,表示第i條魚最後生存的概率。每個數保留5位小數(四捨五入)。

輸入樣例
3
0.000 0.817 0.584 a b c
0.183 0.000 0.665 d e f
0.416 0.335 0.000 g h i

輸出樣例
0.56440
0.20897
0.22663

數據范圍
30%的數據:n<=3
60%的數據:n<=8
100%的數據:n<=18

最佳回答:


可以試試在每條魚的屬性裡加一項“還活著的概率”
每天,某魚活著的概率 = 沒魚找它決斗 + 有決斗但贏了。
第一天有沒有決斗的概率每條魚都是均等的,但是一天後是否被決斗的概率就不均等了,還要算上被決斗2條魚都活著的概率(就是上一天運行的結果)。
然後循環n-1天

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved