Wir haben einen Pfad auf der X-Achse von 1 bis N. Es gibt 2 Punkte nämlich Quelle, S und Ziel, D auf dem Pfad. Ausgehend von der Quelle S dürfen wir nur 2 Züge machen. Wir können entweder U Schritte vorwärts springen oder L Schritte rückwärts springen. Wenn wir uns an einer Position p befinden, können wir entweder in einem einzigen Schritt zu p + U oder p-L gehen, vorausgesetzt, sie bleiben im [1, N] -Bereich. Wie viele Schritte sind erforderlich, um das Ziel D von S aus zu erreichen? Wir sind nicht über die Grenzen erlaubt 1 und N zu erreichenMinimale Schritte von Quelle zu Ziel
-2
A
Antwort
0
wir D Also müssen machen - S Schritte und wollen die minimale x+y
:
D - S = x * U - y * L
y = (Ux + S-D)/L
Das ist Mathematik. So können wir Symmetrie im Problem ausnutzen und D> S (falls gewünscht), U> 0, L> 0 annehmen.
Um genau D zu treffen, muss Ux+S-D % L
0 sein (% ist der Modulooperator).
Entweder clevere Mathematik oder Schleife über x.
Ich hoffe, dass Sie damit beginnen.
Da mir bewusst ist, dass je nach Mathe behandelt die Klugheit variieren kann. Wenn sie gcd und Modulo behandelt:
Let g = gcd(U, L)
dann gibt es keine Lösung, wenn (D-S) % g != 0
. Zum Beispiel können Sie nicht für 3 bis 6 mit L 2 und U 4 erreichen.
Verwandte Themen
- 1. wie von Ziel zu Quelle
- 2. Pfadsichtbarkeit von Quelle zu Ziel in googlemaps
- 3. Execl-Quelle zu OLE DB Ziel
- 4. Wie "Repo" zu verwenden, um minimale Android-Quelle zu klonen?
- 5. Kürzeste Reisezeit von der Quelle zum Ziel
- 6. Ersetze Dateien von einer Quelle zum Ziel
- 7. Daten von odo.resource (Quelle) zu odo.resource (Ziel) abrufen
- 8. Schluck Ziel relativ zur Quelle
- 9. Sequelize Fremdschlüssel Ziel vs Quelle
- 10. Android Studio Schritte in falsche sdk Quelle
- 11. Kopie der Quelle zum Ziel, wenn Ziel n/a
- 12. Minimale Anzahl von Pfaddistanzmessungen
- 13. Ändern der Quelle Erweiterung zum Ziel
- 14. Camel und Quelle/Ziel System Verfügbarkeit Strategie
- 15. Wie kann ich Quelle und Ziel validieren?
- 16. Dijkstra-Algorithmus in Java Quelle und Ziel
- 17. Azure App-Service-Swap "springt" zwischen Quelle und Ziel
- 18. SQL Server SSIS OLEDB Quelle zum Ziel?
- 19. Drag & Drop Quelle und Ziel in qtreewidget
- 20. Automapper - Multi-Objekt-Quelle und ein Ziel
- 21. Polymorphismus: Quelle und Ziel nicht kompatibel
- 22. Kendo Drag & Drop von der Quelle zum Ziel und umgekehrt
- 23. android kopieren Bild von der Quelle zum Ziel
- 24. von der Quelle zum Ziel über alle Kanten
- 25. Backtracking-Rekursion, um einen Pfad von Quelle zu Ziel im 2D-Array zu finden
- 26. Nehmen Sie Hyperlinks und kopieren Sie dann von Quelle zu Ziel mit Hilfe von Hyperlink-Referenzen
- 27. Ruby on Rails Goal hat viele Schritte Assoziation. Wie erstelle ich Schritte für ein Ziel?
- 28. Adb-Shell-Eingabe ziehen von einer Quelle zu einem Ziel und gedrückt halten
- 29. eine Datei von einer Quelle Verschieben in C# zu einem Ziel
- 30. So kopieren Sie eine Datei von der Quelle zu einem Ziel und erstellen die Ordnerstruktur neu
Und ... Ihre Frage ist? – vish4071
Sie müssen das Problem wirklich besser definieren. Wie geschrieben, macht es wenig Sinn. Finde einfach die Richtung von S nach D und nimm so viele Schritte in die richtige Richtung wie nötig. Irgendwie denke ich, es gibt mehr auf die Frage, aber deine Beschreibung sagt nicht. –
Vielleicht möchten Sie einen optimalen Algorithmus, der in S beginnt, aber nicht weiß, was D ist. Stattdessen muss es versuchen. Nur wenn es D erreicht, wird der Algorithmus es wissen. D könnte kleiner oder größer als S sein. Wenn das deine Frage ist, hättest du es so erklären sollen, aber dann wurde das schon mal gefragt. Siehe [Parkplatzsuchalgorithmus] (https://stackoverflow.com/questions/37422823/parking-lot-search-alg). – trincot