C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のmXnマトリックスの左上から右下までのすべての可能なパスをカウントします


このチュートリアルでは、mXn行列の左上から右下への可能なパスの数を見つけるプログラムについて説明します。

このために、mXnマトリックスが提供されます。私たちのタスクは、指定されたマトリックスの左上から右下までのすべての可能なパスを見つけることです。

#include <iostream>
using namespace std;
//returning count of possible paths
int count_paths(int m, int n){
   if (m == 1 || n == 1)
      return 1;
   return count_paths(m - 1, n) + count_paths(m, n - 1);
}
int main(){
   cout << count_paths(3, 3);
   return 0;
}

出力

6

  1. バイナリツリーのすべてのリーフノードをC++で右から左に印刷します

    この問題では、二分木が与えられ、二分木のすべてのリーフノードを右から左に印刷する必要があります。 問題を理解するために例を見てみましょう 入力 − 出力 − 7 4 1 この問題を解決するには、二分木をトラバースする必要があります。このトラバーサルは2つの方法で実行できます- プレオーダートラバーサル −このトラバーサルは再帰を使用します。ここでは、トラバース、ルート、左、右のサブツリーを作成します。リーフノードに遭遇した場合はそれを印刷します。それ以外の場合は、ノードの子をチェックし、それらを探索してリーフノードを見つけます。 例 ソリューションの実装を示すプログラム-

  2. 特定のソースから宛先までのすべてのパスをC++で出力します

    この問題では、有向グラフが与えられ、グラフのソースから宛先までのすべてのパスを印刷する必要があります。 有向グラフ は、頂点aからbに向けられたエッジを持つグラフです。 問題を理解するために例を見てみましょう ソース=K宛先=P 出力: K -> T -> Y -> A -> P K -> T -> Y -> P K -> A -> P ここで、KからPへのパスを見つけました。パスをトラバースし、KからPに向かうすべてのパスを出力しました。 この問題を解決するために、深さ優先探索を使用してグラフをトラバースします。