本題為填空題,只需要算出結果后,在代碼中使用輸出語句將所填結果輸出即可。
青龍ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!小明參加了學校的趣味運動會,其中的一個項目是:跳格子。
地上畫著一些格子,每個格子里寫一個字,如下所示:
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。
要求跳過的路線剛好構成“從我做起振興中華”這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
運行限制大運行時間:1s
大運行內存: 128M
如下圖所示,可以將所有格子看成一個5 * 4的棋盤格,左上角的“從”記(0, 0),我們暫且不考慮邊界。比如,當小明位于(1, 1)時,他將有四種路線(上下左右)。分析問題我們可以很容易的發(fā)現,其實小明只能走右邊或者下邊,因為只有這樣才有可能走出“從我做起振興中華”這句話。即記小明坐標為(x, y),則小明每走一步后可面臨的選擇只有(x+1, y)或者(x, y+1)。
同時我們需要考慮邊界問題,即當小明的坐標值x = 4或者y = 3時,小明到達邊界。因此該問題我們可以用遞歸解決。
原文鏈接:https://blog.csdn.net/m0_60353039/article/details/124973184
代碼:
class Main{
public static void main(String[] args) {
System.out.println(dfs(0,0));
}
public static int dfs(int x,int y) {//該方法用于遞歸所有可能的結果
if(x == 4||y == 3) {//遞歸終止條件
return 1;
}
return dfs(x+1,y)+dfs(x,y+1);
}
}
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧