持續更新
二、李白喝酒
三、六角填數
小明剛剛看完電影《第39級台階》,離開電影院的時候,他數了數禮堂前的台階數,恰好是39級!
站在台階前,他突然又想著乙個問題:
如果我每一步只能邁上1個或2個台階。
先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。
那麼,上完39級台階,有多少種不同的上法呢?
請你利用計算機的優勢,幫助小明尋找答案。
上 1個台階 或者 2個台階 分別做出口
/**
* * @author sjf666
* * 2023年4月3日上午8:55:14
*/public
class
demo05_第39級台階
/** *
* @param step 步數
* @param floor 樓梯階數
* @return
*/public
static
voidf(
int step ,
int floor)
//有兩種情況 是乙個 二叉樹的生成過程
f(step+
1, floor+1)
;f(step+
1, floor+2);}}
話說大詩人李白,一生好飲。幸好他從不開車。
一天,他提著酒壺,從家裡出來,酒壺中有酒2鬥。他邊走邊唱:
無事街上走,提壺去打酒。
逢店加一倍,遇花喝一斗。
這一路上,他一共遇到店5次,遇到花10次,已知最後一次遇到的是花,他正好把酒喝光了。 請你計算李白遇到店和花的次序,可以把遇店記為a,遇花記為b。
則:babaabbabbabbbb 就是合理的次序。
像這樣的答案一共有多少呢?請你計算出所有可能方案的個數(包含題目給出的)。
基本的遞迴題
找到不同的處理方式作為進入下一層的標誌
此題就是 李白遇見花 或者 遇見酒 分別做討論就行
/**
* * @author sjf666
* * 2023年4月2日下午9:32:59
*/public
class
demo03_李白打酒
public
static
voidf(
int jiu ,
int dian ,
int hua)
return;}
ans.
('a');
f(jiu*
2, dian-
1, hua)
; ans.
deletecharat
(ans.
length()
-1);
ans.
('b');
f(jiu-
1, dian, hua-1)
; ans.
deletecharat
(ans.
length()
-1);
}}
如圖所示六角形中,填入1~12的數字。
使得每條直線上的數字之和都相同。
圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?
遞迴找出每個位置的數字 然後進行判斷
/**
* * @author sjf666
* * 2023年4月3日上午9:53:21
*//*
* 分析 用一維陣列 規律搞清 答案要 a[5]
*/public
class
demo06_六角填數
;static
int[
] book =
;//標記陣列
public
static
void
main
(string[
] args)
public
static
void
dfs(
int step)
else
return;}
if(ans[step]==0
)}ans[step]=0
;}else
dfs(step+1)
;}public
static
boolean
check()
}
備戰藍橋杯 USACO milk
沒有找到oj的 直接把翻譯過的題目帶來 今天開始貪心演算法類的訓練了。不過看到前面那個雙重回文數的題目難度等級定為通過初賽,我就開始有興致去挑戰一下了,本來還說,可能還是什麼沒有什麼難度,就是會麻煩一點的東西。現在,我還就是想挑戰一下了。今天的題目依舊簡單。不多說了,直接上 典型貪心,排序,由小到大...
備戰藍橋杯 USACO crypt
從今天開始,有時間的話,至少做到每天破兩題。簡單的也就快一點。今天的題比較簡單,也比較粗暴。感覺在上一屆的藍橋杯遇到過類似的題型。爆搜。恐怖的5個迴圈。今天學到一種新的方法,hash函式的方法。不僅思路清晰了,編碼的速度也很快。很好用。1 將合法的數字標記 2 利用取餘數操作取數字判斷 3 根據資料...
備戰藍橋杯 遞迴演算法及經典例子
遞迴演算法在程式中不斷反覆呼叫自身的方法呼叫方式。此處的重點是呼叫自身 遞迴滿足兩個條件 1.有反覆執行的過程 呼叫自身 2.有跳出反覆執行過程的條件 遞迴出口 遞迴演算法在軟體競賽中,考察的非常多 經典例子 1.求10的階乘 public class a13 public static int f...