藍橋杯 積木問題 C

2022-05-05 05:42:08 字數 893 閱讀 4585

小明最近喜歡搭數字積木。一共有10塊積木,每個積木上有乙個數字,0~9。

搭積木規則:

每個積木放到其它兩個積木的上面,並且一定比下面的兩個積木數字小。

最後搭成4層的金字塔形,必須用完所有的積木。

下面是兩種合格的搭法:

01 2

3 4 5

6 7 8 9

03 1

7 5 2

9 8 6 4

請你計算這樣的搭法一共有多少種

解題思路:

利用函式產生全排列,然後逐一排除;

源**:

#include#include

using

namespace

std;

string x="

0123456789

";//

資料結構

int n=0;//

全域性變數 記錄方案數

bool

test();

void

show();

void permutation(int k)//

以字串為資料結構產生全排列

return

; }

for(int i=k; i)

}bool test() //

檢驗排列是否合法

void show() //

塔型輸出

intmain()

執行結果:

藍橋杯搭積木問題DFS

小明最近喜歡搭數字積木,一共有10塊積木,每個積木上有乙個數字,0 9。搭積木規則 每個積木放到其它兩個積木的上面,並且一定比下面的兩個積木數字小。最後搭成4層的金字塔形,必須用完所有的積木。下面是兩種合格的搭法 0 1 2 3 4 5 6 7 8 9 0 3 1 7 5 2 9 8 6 4 請你計...

藍橋杯 搭積木

題目 小明最近喜歡搭數字積木,一共有10塊積木,每個積木上有乙個數字,0 9。搭積木規則 每個積木放到其它兩個積木的上面,並且一定比下面的兩個積木數字小。最後搭成4層的金字塔形,必須用完所有的積木。下面是兩種合格的搭法 0 1 23 4 5 6 7 8 9 03 1 7 5 2 9 8 6 4請你計...

藍橋杯 搭積木

題目 搭積木 小明最近喜歡搭數字積木,一共有10塊積木,每個積木上有乙個數字,0 9。搭積木規則 每個積木放到其它兩個積木的上面,並且一定比下面的兩個積木數字小。最後搭成4層的金字塔形,必須用完所有的積木。下面是兩種合格的搭法 0 1 2 3 4 5 6 7 8 9 0 3 1 7 5 2 9 8 ...