藍橋杯模擬賽 奇怪的捐贈 dfs

2021-09-20 14:10:03 字數 959 閱讀 8806

地產大亨q先生臨終的遺願是:拿出100萬元給x社群的居民**,以稍慰藉心中愧疚。

麻煩的是,他有個很奇怪的要求:

100萬元必須被正好分成若干份(不能剩餘)。每份必須是7的若干次方元。

比如:1元, 7元,49元,343元,…

相同金額的份數不能超過5份。

在滿足上述要求的情況下,分成的份數越多越好!

請你幫忙計算一下,最多可以分為多少份?

注意:只需要填寫乙個整數,就是分成的份數,不要填寫任何多餘的內容。比如說明文字。

分析:

dfs

因為相同金額可以有5份 所以遞迴的時候有兩種情況

1.當前次方元+1 visit[step]+1

2.下一次方元+1 visit[step+1]+1

通過份數不能超過5份和金額不能大於100萬條件退出遞迴

#include 

#include

using namespace std;

int count = 0;

int visit[10] = ;

int num;

void dfs(int

step,int count)

if(count > 1000000) else

if(count == 1000000)

cout<< num;

exit(0);

}

count += pow(7,step);

visit[step]++;

dfs(step, count); //兩種路 visit[step]+1

dfs(step+1, count); //visit[step+1]+1

visit[step]--;

count -= pow(7,step);

} int main()

藍橋杯模擬賽 奇怪的捐贈 dfs

地產大亨q先生臨終的遺願是 拿出100萬元給x社群的居民 以稍慰藉心中愧疚。麻煩的是,他有個很奇怪的要求 100萬元必須被正好分成若干份 不能剩餘 每份必須是7的若干次方元。比如 1元,7元,49元,343元,相同金額的份數不能超過5份。在滿足上述要求的情況下,分成的份數越多越好!請你幫忙計算一下,...

藍橋杯模擬 奇怪的捐贈

地產大亨q先生臨終的遺願是 拿出100萬元給x社群的居民 以稍慰藉心中愧疚。麻煩的是,他有個很奇怪的要求 100萬元必須被正好分成若干份 不能剩餘 每份必須是7的若干次方元。比如 1元,7元,49元,343元,相同金額的份數不能超過5份。在滿足上述要求的情況下,分成的份數越多越好!請你幫忙計算一下,...

藍橋杯 奇怪的捐贈

問題描述 地產大亨q先生臨終的遺願是 拿出100萬元給x社群的居民 以稍慰藉心中愧疚。麻煩的是,他有個很奇怪的要求 1.100萬元必須被正好分成若干份 不能剩餘 每份必須是7的若干次方元。比如 1元,7元,49元,343元,2.相同金額的份數不能超過5份。3.在滿足上述要求的情況下,分成的份數越多越...