[Python] DFS (recherche de priorité en profondeur) ATC001A

ATC001A

Il est efficace de considérer le labyrinthe comme une recherche graphique

Exemple de code


#En python, il reste bloqué dans la limite par défaut du nombre de traitements récursifs, alors changez-le
import sys
sys.setrecursionlimit(1000000)

#Définition de la fonction récursive DFS
def dfs(x, y):
    #marque
    d[x][y] = 1

    #Boucle dans 4 directions
    for i in range(4):
        X = x + dx[i]
        X = y + dy[i]

        #Déterminez si X et Y sont dans la ville, n'ont jamais été ou ne sont pas un mur
        if 0 <= X and X < n and 0 <= Y and Y < m and d[X][Y] == 0 and c[X][Y] != "#":
                dfs(X, Y)

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

#S'il a été atteint (0 n'est pas atteint, 1 est atteint)
d = [[0] * m for i in range(n)]

#4 directions pour se déplacer
dx = [1, 0, -1, 0]
dy = [0, 1, 0, -1]

#Démarrer dfs à partir du point de départ
for i in range(n):
    for j in range(m):
        if c[i][j] == "s":
            dfs(i, j)

#Si vous avez atteint le point objectif
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 (recherche de priorité en profondeur) ATC001A
[Python] DFS (recherche de priorité en profondeur) ABC157D
Algorithme en Python (recherche de priorité en profondeur, dfs)
[Python] Recherche de priorité de profondeur et recherche de priorité de largeur
Implémenter la recherche de priorité en profondeur (DFS) et la recherche de priorité de largeur (BFS) en python
Écrire une recherche de priorité en profondeur en Python
Recherche de priorité de profondeur à l'aide de la pile en Python
[Python] DFS AGC044A
J'ai essayé de résoudre la recherche de priorité de profondeur (DFS) d'AtCoder en Python (résultat: TLE ...)
Recherche séquentielle avec Python
[Python] Recherche (itertools) ABC167C
Dichotomie avec Python
[Python] Recherche (NumPy) ABC165C
Recherche de bisection (python2.7) mémo
[Python] Recherche de bisection ABC155D
recherche complète de bits python
Recherche linéaire en Python
Dichotomie avec python
Dichotomie avec Python 3
Rechercher sur Twitter avec Python
Recherche binaire en Python
[Python] BFS (recherche de priorité de largeur) ABC168D
Algorithme de recherche utilisant word2vec [python]
Homebrew Python - Programme de recherche YouTube
[At Coder] Résoudre les problèmes typiques de la recherche de priorité en profondeur (DFS)
Recherche binaire en Python / C ++
Algorithme en Python (dichotomie)
Recherche de bits complète avec Python
Les moteurs de recherche fonctionnent avec python
Rechercher des tweets Twitter avec Python
Rationalisez la recherche Web avec Python
Recherche de priorité de profondeur (type non récursif) et méthode d'élagage de limite inférieure (édition Python)
[Algorithme Python] Un programme qui génère des réponses en allemand et en allemand à partir de la recherche de priorité en profondeur
Algorithme en Python (recherche de priorité de largeur, bfs)
Recherche de priorité de largeur (BPF) Peut-être compris (python)
Maîtrisez la recherche linéaire! ~ Version d'implémentation Python ~
Reproduire la recherche à une touche avec Python 3.7.3. (Windows 10)
Recherche de 2 minutes Python et ses dérivés