題目:
第三題:搭積木
題目描述
小明最近喜歡搭數字積木,
一共有10塊積木,每個積木上有乙個數字,0~9。
搭積木規則:
每個積木放到其它兩個積木的上面,並且一定比下面的兩個積木數字小。
最後搭成4層的金字塔形,必須用完所有的積木。
下面是兩種合格的搭法:
01 2
3 4 5
6 7 8 9
03 1
7 5 2
9 8 6 4
請你計算這樣的搭法一共有多少種?
請填表示總數目的數字。
注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。
乙個月的複習時間從小白到爭取省二,我只能使用暴力法
a=
0count=
0for b in
range(1
,10):
for c in
range(1
,10):
if b==c:
continue
for d in
range(1
,10):
if d==b or d==c:
continue
for e in
range(1
,10):
if e==b or e==c or e==d:
continue
for f in
range(1
,10):
if f==b or f==c or f==d or f==e:
continue
for g in
range(1
,10):
if g==b or g==c or g==d or g==e or g==f:
continue
for h in
range(1
,10):
if h==b or h==c or h==d or h==e or h==f or h==g:
continue
for i in
range(1
,10):
if i==b or i==c or i==d or i==e or i==f or i==g or i==h:
continue
for j in
range(1
,10):
if j==b or j==c or j==d or j==e or j==f or j==g or j==h or j==i:
continue
if(d>b and e>b)
and(e>c and f>c)
and(g>d and h>d)
and(h>e and i>e)
and(i>f and j>f)
: count+=
1
暴力法也是有技巧的,需要將列舉的數量盡可能的減少,由題目可知,
0永遠在第一層,所以需要列舉的是 1->9的9次方,即99
這樣o(n)=99,能進行暴力法,因為是填空題沒時間限制,但是,需要排除那些相等的情況,所以如:if c=b: continue
這樣排除相等情況,
再跟據題目要求,寫出
這是我的抽象模型
a
b cd e f
g h i j
讀題目要求可知:因為0在第一層,所以 b,c必大於a
所以判斷條件成立,計數加一(d>b and e>b) and (e>c and f>c) and (g>d and h>d) and (h>e and i>e) and (i>f and j>f)
藍橋杯 搭積木
題目 小明最近喜歡搭數字積木,一共有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 ...
藍橋杯 搭積木
1.搭積木 問題描述 小明最近喜歡搭數字積木。一共有10塊積木,每個積木上有乙個數字,0 9。搭積木規則 每個積木放到其它兩個積木的上面,並且一定比下面的兩個積木數字小。最後搭成4層的金字塔形,必須用完所有的積木。下面是兩種合格的搭法 01 2 3 4 5 6 7 8 9 03 1 7 5 2 9 ...