一、問題描述
x星球要派出乙個5人組成的觀察團前往w星。
其中:a國最多可以派出4人。
b國最多可以派出2人。
c國最多可以派出2人。
....
那麼最終派往w星的觀察團會有多少種國別的不同組合呢?
下面的程式解決了這個問題。
陣列a 中既是每個國家可以派出的最多的名額。
程式執行結果為:
defff
cefff
cdfff
cdeff
ccfff
cceff
ccdff
ccdef
befff
bdfff
bdeff
bcfff
bceff
bcdff
bcdef
....
(以下省略,總共101行)
1public
classa2
910 string s2 =s;
11for(int i=0; i<=a[k]; i++)15}
1617
public
static
void
main(string args)18;
2021 f(a,0,5,"");22}
23 }
二、題目型別:**填空、遞迴
三、解題思路及答案
第一眼,我竟然沒往遞迴那裡想。。。遞迴出口就在那裡,而你卻視而不見。。。
確定了題目給出的是個遞迴方法,解題就很簡單了,就是抓住遞迴出口,修改方法的引數。一開始我填的是:f(a,k++,n-1,s2),只能說明我der,巨der。首先,直接k++就已經改變了k的原始值,人家**下面還有:s2 += (char)(k+'a'); 這還不溢位???其次,直接簡單的想下一次的需要人數就是n-1,你把我迴圈的 i 放在**?
答案:f(a,k+1,n-i,s2)
藍橋杯 第七屆省賽試題 抽籤
抽籤 x星球要派出乙個5人組成的觀察團前往w星。其中 a國最多可以派出4人。b國最多可以派出2人。c國最多可以派出2人。那麼最終派往w星的觀察團會有多少種國別的不同組合呢?下面的程式解決了這個問題。陣列a 中既是每個國家可以派出的最多的名額。程式執行結果為 defff cefff cdfff cde...
藍橋杯第七屆省賽 抽籤 DFS
x星球要派出乙個5人組成的觀察團前往w星。其中 a國最多可以派出4人。b國最多可以派出2人。c國最多可以派出2人。那麼最終派往w星的觀察團會有多少種國別的不同組合呢?下面的程式解決了這個問題。陣列a 中既是每個國家可以派出的最多的名額。程式執行結果為 defff cefff cdfff cdeff ...
第七屆藍橋杯省賽C B組 抽籤
抽籤 x星球要派出乙個5人組成的觀察團前往w星。其中 a國最多可以派出4人。b國最多可以派出2人。c國最多可以派出2人。那麼最終派往w星的觀察團會有多少種國別的不同組合呢?下面的程式解決了這個問題。陣列a 中既是每個國家可以派出的最多的名額。程式執行結果為 defff cefff cdfff cde...