DFS:C 小Y的难题(1)
解題心得:
1、在明確使用DFS之后一定要找到遞歸函數的出口、方向,以及遞歸的點(在某個情況下開始遞歸)(void 也可以return,但是沒有返回值)。遞歸時也要有遞歸的方向,最后都能夠達到遞歸的出口。
2、在DFS遞歸的出口處可以用一個數組來進行記錄最終的結果,雙向遞歸可以用一個二位數組來記錄結果。
3、在循環中,盡量不要多次使用一個變量(不然找錯找得你哭瞎雙眼。傷心。。。。。。)。
4、先找思路再寫程序,寫程序時小心變量是否用對,數組是否越界,變量是否初始化,特別實在循環中時。當循環出現多層的時候,檢查關鍵的步驟是否放對循環。
5、找錯找得哭瞎雙眼的時候一定要反思總結啊。
Description
最近小Y迷上了數學,總是在思考各種數學問題。有一天,他不小心把墨水灑在草稿紙上。他現在能看到的是“2?3?1?4”(?表示看不清的地方)。小Y的記憶力不錯,他知道:
1、每個?只會是“+”、“-”,“=”三個符號之一。
2、總共有且僅有一個“=”。
3、原式一定是一個等式。如“2+3-1=4”
現在他突然想知道,有多少種可能性,滿足上面3個要求。
Input
多組輸入。
每組第一行有一個數字n。表示小Y從左到右,一共可以看到n個數字。(2<=n<=15)
每組第二行有n個數字。分別表示這n個數字是什么。保證每個數字都是非負整數,且小于10^7。
Output
對于每組,輸出一行,這一行只有一個數字,表示有多少種可能性滿足題意。
Sample Input
Raw
4
2 3 1 4
4
1 1 1 1
Sample Output
Raw
2
6
Hint
數字間一定有且僅有一個符號,第一個數字前沒有符號。
轉載于:https://www.cnblogs.com/GoldenFingers/p/9107397.html
總結
以上是生活随笔為你收集整理的DFS:C 小Y的难题(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统基础篇
- 下一篇: quagga源码分析--路由信息处理ze