回溯法 競賽遊戲

2022-05-06 02:12:07 字數 627 閱讀 8963

某遊戲規則中,甲乙雙方戰鬥,每一回合總能分出勝負,遊戲規定:

1.失敗的一方要將自己體力值的1/4加給勝利的一方。

2.遊戲開始時,甲的體力值是1000,乙的體力值是2000。

3.每一回合,甲乙勝利的概率均為50%。

求解4個回合後,雙方體力值之差小於1000的概率。

每一回合結束,要麼甲贏,要麼乙贏。n個回合,那麼有2^n種結果,採用回溯法從解空間中,中找出abs(a-b)<1000的結果即可。

#include#include#define max 1000

int i=1,count=0;

float m=1000,a=1000,n=1000,b=1000;

void backdate(int n);

int sum;

int main()

void backdate(int i)

m=a,n=b;

a+=b/4;

b-=b/4;

backdate(i+1);

a=m,b=n;

b+=a/4;

a-=a/4;

backdate(i+1);

return;

}

演算法提高 開燈遊戲 回溯法

題目鏈結 有9盞燈與9個開關,編號都是1 9。每個開關能控制若干盞燈,按下一次會改變其控制的燈的狀態 亮的變成不亮,不亮變成亮的 具體如下 第乙個開關控制第二,第四盞燈 第二個開關控制第一,第三,第五盞燈 第三個開關控制第二,第六盞燈 第四個開關控制第一,第五,第七盞燈 第五個開關控制第二,第四,第...

回溯法,回溯法解裝載問題

利用回溯法解問題時一般按以下三步驟 1 定義問題的解空間 2 確定易於搜尋的解空間結構 3 以深度優先策略搜尋解空間,並在搜尋過程中用剪枝函式避免無效搜尋 二 回溯法應用 裝載問題 一批貨櫃共n個要裝上2艘載重量分別為c1和c2的輪船,其中貨櫃i的重量為wi且w1 w2 wn c1 c2 試確定乙個...

回溯法 回溯法介紹 回溯與遞迴的區別

回溯法 有一類問題,我們不知道它明確的計算法則。而是先進行試探,試探到最終狀況,發現不滿足問題的要求,則回溯到上乙個狀態繼續試探。這種不斷試探和回溯的思想,稱為回溯法 backtrcking 此類問題包括 求最優解 一組解 全部解。例如八皇后問題 回溯的演算法思想 一直往下走,然後再一步步往回走 面...