PHP版本李白打酒演算法

2021-09-17 00:01:29 字數 1229 閱讀 1725

話說大詩人李白,一生好飲。幸好他從不開車。 一天,

他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱:

無事街上走,提壺去打酒。

逢店加一倍,遇花喝一斗。

這一路上,他一共遇到店5次,遇到花10次,已知最後一次遇到的是花,他正好把酒喝光了。

請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。則:babaabbabbabbbb就是合理的次序。像這樣的答案一共有多少呢?請你計算出所有可能方案的個數(包含題目給出的)。

php**實現:

$count = 0;

$a = array();

function show($a, $num)

function forward_recursion($i, $store, $flower, $wine)

else if($store == 5 && $flower == 10 && $i == 15)

return;

}$globals['a'][$i] = 'a';

forward_recursion($i + 1, $store + 1, $flower, $wine * 2); //逢店加一倍

$globals['a'][$i] = 'b';

forward_recursion($i + 1, $store, $flower + 1, $wine - 1); //遇花喝一斗

}forward_recursion(0,0,0,2);

echo $count;

執行結果:

ababbbbbabababb

abbabbabbbababb

abbabbbaabbbabb

abbabbbabaabbbb

abbbaabbabbbabb

abbbaabbbaabbbb

abbbabaabbabbbb

baababbbbbababb

baabbabbabbbabb

baabbabbbaabbbb

baabbbaabbabbbb

babaababbbbbabb

babaabbabbabbbb

bababaababbbbbb

14

李白打酒 DFS

話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱 無事街上走,提壺去打酒。逢店加一倍,遇花喝一斗。這一路上,他一共遇到店5次,遇到花10次,已知最後一次遇到的是花,他正好把酒喝光了。請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。則 ba...

李白打酒問題

近日準備藍橋杯大賽,看到乙個李白打酒的問題,題目如下 話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱 無事街上走,提壺去打酒。逢店加一倍,遇花喝一斗。這一路上,他一共遇到店5次,遇到花10次,已知最後一次遇到的是花,他正好把酒喝光了。請你計算李白遇...

2507 李白打酒

問題及 話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱 無事街上走,提壺去打酒。逢店加一倍,遇花喝一斗。這一路上,他一共遇到店m次,遇到花n次,已知最後一次遇到的是花,他正好把酒喝光了。請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。例...