前提
実現したいこと
以下に記載のコードの以下の部分の意味がよくわからいので噛み砕いて教えて抱きたいです。(当サイトの解説が乏しいため)
c++
1func(n-1,l+1,r) + func(n,l+1,r);
該当のソースコード
c++
1#include <iostream> 2#include <vector> 3using namespace std; 4 5// 再帰関数 (N = n, L = l, R = r のときの問題の答え) 6int func(int n, int l, int r) { 7 // n = 0 のとき、答えは空配列のみ (1 つ) 8 if (n==0) return 1; 9 10 // l > r のとき、答えは存在しない 11 if (l>r) return 0; 12 13 // それ以外のとき 14 int ans = func(n-1,l+1,r) + func(n,l+1,r); 15 16 return ans; 17} 18 19int main() { 20 // 入力 21 int N, L, R; 22 cin >> N >> L >> R; 23 24 // 出力 25 int ans = func(N,L,R); 26 cout << ans << endl; 27}
input, output
- input
2 1 3
- output
3

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/10 03:54