目次
解を求める方法
出力
上記のコードの説明
結論
ホームページ バックエンド開発 C++ C++ でのプログラミング、グリッド内のある点から別の点へのパスの数を見つける

C++ でのプログラミング、グリッド内のある点から別の点へのパスの数を見つける

Aug 29, 2023 pm 10:25 PM
グリッド パスの数 ポイント

C++ でのプログラミング、グリッド内のある点から別の点へのパスの数を見つける

この記事では、点 A から点 B までのパスの総数を見つける必要があるという問題が与えられます。ここで、A と B は固定点です。つまり、A はグリッドです。の左上隅の点 B は、グリッドの右下隅の点です (例: −

Input : N = 5
Output : 252

Input : N = 4
Output : 70

Input : N = 3
Output : 20
ログイン後にコピー

) 与えられた問題では、単純な観察を通じて答えを形式化し、結果を導き出すことができます。

解を求める方法

この方法では、観察によって公式を導き出します。つまり、グリッドを A から B に横切るとき、右に n 回移動する必要があります。 n 回下に進むということは、考えられるパスの組み合わせをすべて見つける必要があることを意味するため、(n n) と n を組み合わせた式が得られます。

#include<bits/stdc++.h>

using namespace std;
int fact(int n){ // factorial function 
   if(n <= 1)
      return 1;
   return n * fact(n-1);
}
int main() {
   int n = 5; // given n
   int answer = 0; // our answer
   answer = fact(n+n); // finding factorial of 2*n
   answer = answer / (fact(n) * fact(n)); // (2*n)! / (n! + n!)
   cout << answer << "\n";
}
ログイン後にコピー

出力

252
ログイン後にコピー

上記のコードの説明

このコードでは、2*n から n までの結合式を計算します。点 A から点 B まで、2 方向で正確に 2*n 回の操作が必要であることがわかっています。つまり、一方向に n 回の操作があり、もう一方の方向に n 回の操作があるため、これらの操作のすべての可能性を求めます。その組み合わせは次のとおりです。 (2*n)!/(n!n!)。指定されたプログラムの全体的な時間計算量は O(1) です。これは、計算量が指定された n に依存しないことを意味します。

結論

この記事では、グリッド内のある点から別の点へのルートの数を見つける問題について説明しました。また、この問題に対する C プログラムと、それを解決するための完全なアプローチも学びました。同じプログラムを C、Java、Python などの他の言語で書くことができます。この記事がお役に立てば幸いです。

以上がC++ でのプログラミング、グリッド内のある点から別の点へのパスの数を見つけるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

正確なオブジェクト検出のためのマルチグリッド冗長境界ボックス注釈 正確なオブジェクト検出のためのマルチグリッド冗長境界ボックス注釈 Jun 01, 2024 pm 09:46 PM

1. はじめに 現在、主要なオブジェクト検出器は、深層 CNN のバックボーン分類器ネットワークを再利用した 2 段階または 1 段階のネットワークです。 YOLOv3 は、入力画像を受け取り、それを等しいサイズのグリッド マトリックスに分割する、よく知られた最先端の 1 段階検出器の 1 つです。ターゲット中心を持つグリッド セルは、特定のターゲットの検出を担当します。今日私が共有するのは、各ターゲットに複数のグリッドを割り当てて正確なタイトフィット境界ボックス予測を実現する新しい数学的手法です。研究者らはまた、ターゲット検出のための効果的なオフラインのコピー&ペーストデータの強化も提案しました。新しく提案された方法は、現在の最先端の物体検出器の一部よりも大幅に性能が優れており、より優れたパフォーマンスが期待されます。 2. バックグラウンドターゲット検出ネットワークは、次のように設計されています。

iPhoneでカメラグリッドを設定する手順 iPhoneでカメラグリッドを設定する手順 Mar 26, 2024 pm 07:21 PM

1. iPhone のデスクトップを開き、[設定] を見つけてクリックして入力します。 2. 設定ページでクリックして [カメラ] に入ります。 3. [グリッド]の右側にあるスイッチをクリックしてオンにします。

CSS レイアウトのヒント: 円形グリッド アイコン レイアウトを実装するためのベスト プラクティス CSS レイアウトのヒント: 円形グリッド アイコン レイアウトを実装するためのベスト プラクティス Oct 20, 2023 am 10:46 AM

CSS レイアウトのヒント: 円形グリッド アイコン レイアウトを実装するためのベスト プラクティス グリッド レイアウトは、最新の Web デザインにおける一般的で強力なレイアウト手法です。円形のグリッド アイコン レイアウトは、よりユニークで興味深いデザインの選択です。この記事では、円形グリッド アイコン レイアウトの実装に役立ついくつかのベスト プラクティスと具体的なコード例を紹介します。 HTML 構造 まず、コンテナ要素を設定し、このコンテナにアイコンを配置する必要があります。順序なしリスト (&lt;ul&gt;) をコンテナとして使用でき、リスト項目 (&lt;l

C++ で書かれており、3 つの直線上の一連の点によって形成される三角形の数を求めます。 C++ で書かれており、3 つの直線上の一連の点によって形成される三角形の数を求めます。 Sep 09, 2023 am 09:53 AM

ここで、3 行に存在するいくつかの点を取得します。たとえば、これらの点が形成できる三角形の数を調べる必要があります。入力:m=3,n=4,k=5出力:205入力:m=2,n=2,k =1出力:10 この問題を解決するためにいくつかの組み合わせ数学を適用し、この問題を解決するためのいくつかの公式を定式化します。解決策を見つける方法 この方法では、式を考案します。現在の状況に組み合わせ論を適用すると、この式から結果が得られます。上記のメソッドの C++ コード これは、指定された問題を解決するための入力として使用できる C++ 構文です - 例 #include<bits/stdc++.h>#define

キーボードで点「丶」を入力するにはどうすればよいですか? キーボードで点「丶」を入力するにはどうすればよいですか? Feb 15, 2024 pm 01:51 PM

キーボードを入力するとき、キーボード上の点「丶」の入力方法に興味があるユーザーは多いでしょう。それでは、この「丶」記号をキーボードで入力する方法についてエディターが提供する方法を見てみましょう。 1. 「丶」をクリックし、キーボードで [dian] を直接入力すると、選択バーに句読点 [丶] が表示されます。 2. 特殊記号 Sogou Pinyin 入力方法では、中国語モードに切り替えるときに v キーを押すと、いくつかの特殊記号が表示されます。これらの記号には、数字 (例: v123)、日付 (例: v2013/1/1)、計算 (例: v1+1)、および関数 (例: v2~3) が含まれます。これらの記号を使用すると、さまざまな情報を簡単に入力できます。 2. 次に数字キーをもう一度押します。0 から 9 までの任意の数字を使用できます。

Javaで3つの点が同一線上にあるかどうかを確認するにはどうすればよいですか? Javaで3つの点が同一線上にあるかどうかを確認するにはどうすればよいですか? Sep 05, 2023 pm 06:41 PM

3 つの点が直線上にある場合、それらは同一線上にあると言われます。点が同じ直線上にない場合、それらは同一直線上にありません。これは、3 つの点 (x1,y1)、(x2,y2)、(x3,y3) が同じ直線上にある場合、それらは同一直線上にあることを意味します。このうち、x1、y1、x2、y2、x3、y3はx軸、y軸上の点、(x1、y1)、(x2、y2)、(x3、y3)は座標です。数学的には、3 つの点が同一線上にあるかどうかを判断するには 2 つの方法があります。点を使用して三角形の面積を求めます。三角形の面積がゼロの場合、3 つの点は同一線上にあります。三角形の面積を求める公式=0.5*[x1*(y2-y3)+x2*

ロボットがグリッド内の特定のセルに到達するために必要なジャンプの回数を見つけるための C++ プログラム ロボットがグリッド内の特定のセルに到達するために必要なジャンプの回数を見つけるための C++ プログラム Sep 17, 2023 pm 07:17 PM

hxw グリッドがあるとします。グリッドは「initGrid」と呼ばれる 2 次元配列で表され、グリッド内の各セルは「#」または「.」で表されます。 「#」はグリッド内に障害物があることを意味し、「.」はそのセル上にパスがあることを意味します。今、ロボットは行番号 x と列番号 y を持つグリッド上のセル「c」に配置されます。ロボットは、行番号 p と列番号 q を持つ 1 つのセル「d」から別のセルに移動する必要があります。セル座標 c と d は両方とも整数のペアとして指定されます。ロボットは、次のように、あるセルから別のセルに移動できるようになります。ロボットが移動したいセルが、現在のセルに垂直または水平に隣接して配置されている場合、ロボットは次のように移動できます。

C++ でのプログラミング、グリッド内のある点から別の点へのパスの数を見つける C++ でのプログラミング、グリッド内のある点から別の点へのパスの数を見つける Aug 29, 2023 pm 10:25 PM

この記事では、点 A から点 B までのパスの総数を見つける必要があるという問題が与えられます。ここで、A と B は固定点です。つまり、A はグリッドの左上隅の点、B はグリッドの下端の点です。右隅の点、たとえば、−Input:N=5Output:252Input:N=4Output:70Input:N=3Output:20 与えられた問題では、単純な観察を通じて答えを形式化し、結果を導き出すことができます。解を見つける方法 この方法では、グリッドを A から B に横切るときに右に n 回、下に n 回移動する必要があることを観察して式を考え出します。これは、考えられるすべてのパスの組み合わせを見つける必要があることを意味します。

See all articles