Inhaltsverzeichnis
Methode zum Finden der Lösung
Beispiel
Ausgabe
Erklärung des obigen Codes
Fazit
Heim Backend-Entwicklung C++ Ermitteln Sie beim Programmieren in C++ die Anzahl der Pfade von einem Punkt zu einem anderen in einem Raster

Ermitteln Sie beim Programmieren in C++ die Anzahl der Pfade von einem Punkt zu einem anderen in einem Raster

Aug 29, 2023 pm 10:25 PM
网格 路径数量

Ermitteln Sie beim Programmieren in C++ die Anzahl der Pfade von einem Punkt zu einem anderen in einem Raster

In diesem Artikel erhalten wir ein Problem, bei dem wir die Gesamtzahl der Pfade von Punkt A zu Punkt B ermitteln müssen, wobei A und B Fixpunkte sind, d. h. A ist der obere linke Eckpunkt im Raster und B ist der untere rechte Eckpunkt im Gitter, z. B. −

Input : N = 5
Output : 252

Input : N = 4
Output : 70

Input : N = 3
Output : 20
Nach dem Login kopieren

In dem gegebenen Problem können wir die Antwort formalisieren und das Ergebnis durch einfache Beobachtungen ableiten.

Methode zum Finden der Lösung

Bei dieser Methode leiten wir eine Formel durch Beobachtung ab, dass wir beim Überqueren des Gitters von A nach B n-mal nach rechts und n-mal nach unten gehen müssen, was bedeutet, dass wir alle finden müssen mögliche Pfadkombinationen, also erhalten wir die Kombinationsformel von (n+n) und n.

Beispiel

#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";
}
Nach dem Login kopieren

Ausgabe

252
Nach dem Login kopieren

Erklärung des obigen Codes

In diesem Code berechnen wir die kombinierte Formel von 2*n zu n, weil wir wissen, dass wir von Punkt A nach Punkt B genau zwei Richtungen 2 benötigen *n Operationen auf , das heißt, es gibt n Operationen in eine Richtung und n Operationen in die andere Richtung, also finden wir alle möglichen Kombinationen dieser Operationen, also (2*n)!/ (n! + n!) . Die Gesamtzeitkomplexität des gegebenen Programms beträgt O(1), was bedeutet, dass unsere Komplexität nicht vom gegebenen n abhängt.

Fazit

In diesem Artikel haben wir ein Problem besprochen, die Anzahl der Routen von einem Punkt zu einem anderen Punkt in einem Raster zu ermitteln. Wir haben auch ein C++-Programm für dieses Problem und unseren vollständigen Lösungsansatz kennengelernt. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen schreiben. Wir hoffen, dass dieser Artikel für Sie hilfreich war.

Das obige ist der detaillierte Inhalt vonErmitteln Sie beim Programmieren in C++ die Anzahl der Pfade von einem Punkt zu einem anderen in einem Raster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Redundante Begrenzungsrahmenanmerkung mit mehreren Gittern für eine genaue Objekterkennung Redundante Begrenzungsrahmenanmerkung mit mehreren Gittern für eine genaue Objekterkennung Jun 01, 2024 pm 09:46 PM

1. Einleitung Derzeit sind die führenden Objektdetektoren zweistufige oder einstufige Netzwerke, die auf dem umfunktionierten Backbone-Klassifizierungsnetzwerk von Deep CNN basieren. YOLOv3 ist ein solcher bekannter hochmoderner einstufiger Detektor, der ein Eingabebild empfängt und es in eine gleich große Gittermatrix aufteilt. Für die Erkennung spezifischer Ziele sind Gitterzellen mit Zielzentren zuständig. Was ich heute vorstelle, ist eine neue mathematische Methode, die jedem Ziel mehrere Gitter zuordnet, um eine genaue Vorhersage des Begrenzungsrahmens zu erreichen. Die Forscher schlugen außerdem eine effektive Offline-Datenverbesserung durch Kopieren und Einfügen für die Zielerkennung vor. Die neu vorgeschlagene Methode übertrifft einige aktuelle Objektdetektoren auf dem neuesten Stand der Technik deutlich und verspricht eine bessere Leistung. 2. Das Hintergrundzielerkennungsnetzwerk ist für die Verwendung konzipiert

Schritte zum Einrichten des Kamerarasters auf dem iPhone Schritte zum Einrichten des Kamerarasters auf dem iPhone Mar 26, 2024 pm 07:21 PM

1. Öffnen Sie den Desktop Ihres iPhones, suchen Sie nach [Einstellungen] und klicken Sie darauf, um sie aufzurufen. 2. Klicken Sie auf der Einstellungsseite auf [Kamera], um sie aufzurufen. 3. Klicken Sie, um den Schalter auf der rechten Seite von [Raster] einzuschalten.

CSS-Layout-Tipps: Best Practices für die Implementierung des kreisförmigen Rastersymbol-Layouts CSS-Layout-Tipps: Best Practices für die Implementierung des kreisförmigen Rastersymbol-Layouts Oct 20, 2023 am 10:46 AM

CSS-Layout-Tipps: Best Practices für die Implementierung des kreisförmigen Rastersymbol-Layouts Das Rasterlayout ist eine gängige und leistungsstarke Layouttechnik im modernen Webdesign. Das kreisförmige Gittersymbol-Layout ist eine einzigartigere und interessantere Designwahl. In diesem Artikel werden einige Best Practices und spezifische Codebeispiele vorgestellt, die Ihnen bei der Implementierung eines kreisförmigen Rastersymbol-Layouts helfen. HTML-Struktur Zuerst müssen wir ein Containerelement einrichten und das Symbol in diesem Container platzieren. Wir können eine ungeordnete Liste (&lt;ul&gt;) als Container verwenden und die Listenelemente (&lt;l

Ermitteln Sie in C++ die Anzahl der Dreiecke, die durch eine Menge von Punkten auf drei Geraden gebildet werden Ermitteln Sie in C++ die Anzahl der Dreiecke, die durch eine Menge von Punkten auf drei Geraden gebildet werden Sep 09, 2023 am 09:53 AM

Jetzt erhalten wir mehrere Punkte in 3 Reihen; wir müssen beispielsweise herausfinden, wie viele Dreiecke diese Punkte bilden können. Eingabe:m=3,n=4,k=5Ausgabe:205Eingabe:m=2,n=2, k =1Ausgabe:10 Wir werden kombinatorische Mathematik anwenden, um dieses Problem zu lösen, und einige Formeln formulieren, um dieses Problem zu lösen. Methode zur Lösungsfindung Bei dieser Methode entwickeln wir eine Formel: Wenn wir die Kombinatorik auf die aktuelle Situation anwenden, liefert uns diese Formel das Ergebnis. C++-Code für die obige Methode. Dies ist eine C++-Syntax, die wir als Eingabe zur Lösung des gegebenen Problems verwenden können – Beispiel #include<bits/stdc++.h>#define

Wie tippe ich den Punkt „丶' über die Tastatur ein? Wie tippe ich den Punkt „丶' über die Tastatur ein? Feb 15, 2024 pm 01:51 PM

Beim Tippen auf einer Tastatur fragen sich viele Benutzer, wie man den Punkt „丶“ auf der Tastatur eintippt? Werfen wir also einen Blick auf die Methode, die Ihnen der Editor zur Eingabe dieses „丶“-Symbols auf der Tastatur bietet. 1. Klicken Sie auf „丶“ und geben Sie direkt auf der Tastatur [dian] ein. In der Auswahlleiste wird das Satzzeichen [丶] angezeigt. 2. Sondersymbole Bei der Sogou Pinyin-Eingabemethode werden beim Umschalten in den chinesischen Modus durch Drücken der v-Taste einige Sondersymbole angezeigt. Zu diesen Symbolen gehören Zahlen (z. B. v123), Datumsangaben (z. B. v2013/1/1), Berechnungen (z. B. v1+1) und Funktionen (z. B. v2~3). Diese Symbole erleichtern die Eingabe verschiedener Informationen. 2. Drücken Sie dann erneut die Zifferntaste. Es kann eine beliebige Zahl von 0 bis 9 verwendet werden

Wie kann man in Java überprüfen, ob drei Punkte kollinear sind? Wie kann man in Java überprüfen, ob drei Punkte kollinear sind? Sep 05, 2023 pm 06:41 PM

Liegen drei Punkte auf einer Geraden, nennt man sie kollinear. Liegen diese Punkte nicht auf derselben Geraden, sind sie nicht kollinear. Das heißt, wenn drei Punkte (x1,y1), (x2,y2), (x3,y3) auf derselben Geraden liegen, sind sie kollinear. Unter diesen sind x1, y1, x2, y2, x3, y3 Punkte auf der x-Achse und der y-Achse, (x1, y1), (x2, y2), (x3, y3) sind die Koordinaten. Mathematisch gibt es zwei Möglichkeiten zu bestimmen, ob drei Punkte kollinear sind. Ermitteln Sie die Fläche eines Dreiecks mithilfe der Punkte. Wenn die Fläche des Dreiecks Null ist, dann sind die drei Punkte kollinear. Formel zur Ermittlung der Fläche eines Dreiecks=0,5*[x1*(y2-y3)+x2*

Ermitteln Sie beim Programmieren in C++ die Anzahl der Pfade von einem Punkt zu einem anderen in einem Raster Ermitteln Sie beim Programmieren in C++ die Anzahl der Pfade von einem Punkt zu einem anderen in einem Raster Aug 29, 2023 pm 10:25 PM

In diesem Artikel erhalten wir ein Problem, bei dem wir die Gesamtzahl der Pfade von Punkt A zu Punkt B ermitteln müssen, wobei A und B feste Punkte sind, d. h. A ist der obere linke Eckpunkt im Gitter und B der untere rechter Eckpunkt, zum Beispiel −Input:N=5Output:252Input:N=4Output:70Input:N=3Output:20 In dem gegebenen Problem können wir die Antwort formalisieren und das Ergebnis durch einfache Beobachtungen ableiten. Methode zur Lösungsfindung Bei dieser Methode leiten wir eine Formel ab, indem wir beobachten, dass wir beim Überqueren des Gitters von A nach B n-mal nach rechts und n-mal nach unten gehen müssen, was bedeutet, dass wir alle möglichen Pfadkombinationen finden müssen, also erhalten wir

C++-Programm, um die Anzahl der Sprünge zu ermitteln, die ein Roboter benötigt, um eine bestimmte Zelle in einem Raster zu erreichen C++-Programm, um die Anzahl der Sprünge zu ermitteln, die ein Roboter benötigt, um eine bestimmte Zelle in einem Raster zu erreichen Sep 17, 2023 pm 07:17 PM

Nehmen wir an, wir haben ein HxW-Gitter. Das Raster wird in einem zweidimensionalen Array namens „initGrid“ dargestellt, wobei jede Zelle im Raster durch ein „#“ oder „.“ dargestellt wird. „#“ bedeutet, dass sich im Gitter ein Hindernis befindet, „.“ bedeutet, dass sich in dieser Zelle ein Pfad befindet. Nun wird ein Roboter auf einer Zelle „c“ im Raster platziert, die die Zeilennummer x und die Spaltennummer y hat. Der Roboter muss sich von einer Zelle „d“ mit der Zeilennummer p und der Spaltennummer q zu einer anderen Zelle bewegen. Die Zellkoordinaten c und d werden beide als Ganzzahlpaare angegeben. Der Roboter kann sich nun wie folgt von einer Zelle zur anderen bewegen: Befindet sich die Zelle, zu der sich der Roboter bewegen möchte, vertikal oder horizontal neben der aktuellen Zelle, kann der Roboter dies tun

See all articles