[Python] DFS (Tiefenprioritätssuche) ATC001A

ATC001A

Es ist effektiv, das Labyrinth als Diagrammsuche zu betrachten

Beispielcode


#In Python bleibt das Standardlimit für die Anzahl der rekursiven Verarbeitungen hängen. Ändern Sie es daher
import sys
sys.setrecursionlimit(1000000)

#Definition der rekursiven Funktion DFS
def dfs(x, y):
    #Kennzeichen
    d[x][y] = 1

    #Schleife in 4 Richtungen
    for i in range(4):
        X = x + dx[i]
        X = y + dy[i]

        #Stellen Sie fest, ob sich X und Y in der Stadt befinden, noch nie waren oder kein Zaun sind
        if 0 <= X and X < n and 0 <= Y and Y < m and d[X][Y] == 0 and c[X][Y] != "#":
                dfs(X, Y)

#Eingang
n, m = map(int, input().split())
c = [list(input()) for i in range(n)]

#Ob es erreicht wurde (0 ist nicht erreicht, 1 ist erreicht)
d = [[0] * m for i in range(n)]

#4 Richtungen zu bewegen
dx = [1, 0, -1, 0]
dy = [0, 1, 0, -1]

#Starten Sie dfs vom Startpunkt aus
for i in range(n):
    for j in range(m):
        if c[i][j] == "s":
            dfs(i, j)

#Ob Sie den Zielpunkt erreicht haben
for i in range(n):
    for j in range(m):
        if c[i][j] == "g" and d[i][j]:
            print("Yes")
            exit()
print("No")

Recommended Posts

[Python] DFS (Tiefenprioritätssuche) ATC001A
[Python] DFS (Tiefenprioritätssuche) ABC157D
Algorithmus in Python (Tiefenprioritätssuche, dfs)
[Python] Suche nach Tiefenpriorität und Suche nach Breitenpriorität
Implementieren Sie die Suche nach Tiefenpriorität (DFS) und die Suche nach Breitenpriorität (BFS) in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Suche nach Tiefenpriorität mit Stack in Python
[Python] DFS AGC044A
Ich habe versucht, AtCoders Depth Priority Search (DFS) in Python zu lösen (Ergebnis: TLE ...)
Sequentielle Suche mit Python
[Python] Suche (itertools) ABC167C
Dichotomie mit Python
[Python] Suche (NumPy) ABC165C
Memo zur Bisektionssuche (python2.7)
[Python] Bisection-Suche ABC155D
Python Bit vollständige Suche
Lineare Suche in Python
Dichotomie mit Python
Dichotomie mit Python 3
Suchen Sie Twitter mit Python
Binäre Suche in Python
[Python] BFS (Suche nach Breitenpriorität) ABC168D
Suchalgorithmus mit word2vec [Python]
Homebrew Python - Youtube Suchprogramm
[At Coder] Lösen Sie typische Probleme der Tiefenprioritätssuche (DFS).
Binäre Suche in Python / C ++
Algorithmus in Python (Dichotomie)
Vollbit-Suche mit Python
Suchmaschinen arbeiten mit Python
Suche nach Twitter-Tweets mit Python
Optimieren Sie die Websuche mit Python
Suche nach Tiefenpriorität (nicht rekursiver Typ) und Bereinigungsmethode für die untere Grenze (Python Edition)
[Python-Algorithmus] Ein Programm, das einige deutsche Antworten aus einer Suche mit Tiefenpriorität ausgibt
Algorithmus in Python (Breitenprioritätssuche, bfs)
Suche nach Breitenpriorität (BPF) Vielleicht verstanden (Python)
Beherrsche die lineare Suche! ~ Python-Implementierungsversion ~
Reproduzieren Sie die One-Touch-Suche mit Python 3.7.3. (Windows 10)
Python 2-Minuten-Suche und ihre Ableitungen