Résoudre la recherche d'île (équivalent au rang S de paiza) avec Python

en premier

J'étais en train de résoudre la collection de problèmes de niveau supérieur de Paiza, mais je n'avais pas de réponse modèle, alors je l'ai fait moi-même. Le langage est Python3.

problème

Exemple de problème de vérification des compétences de Paiza "Recherche d'île (équivalent au rang S de paiza)" https://paiza.jp/works/mondai/skillcheck_sample/search-island?language_uid=python3 Je ne pouvais pas voir l'énoncé du problème sans me connecter. L'inscription est gratuite et peut être effectuée immédiatement, je vous recommande donc de vous inscrire pour le moment.

Code de réponse

find_lands.py


col, row = map(int, input().split())
map_list = [[0]* (col+2)]
for _ in range(row):
    map_list.append([0] + list(map(int, input().split())) + [0])
map_list.append(map_list[0])

def check(x, y):
    lands = [[x,y]]
    
    while lands:
        x, y = lands.pop()
        map_list[y][x] = 0
        # down 
        if map_list[y+1][x] == 1:
            lands.append([x, y+1])
        # right
        if map_list[y][x+1] == 1:
            lands.append([x+1, y])
        # up
        if map_list[y-1][x] == 1:
            lands.append([x, y-1])
        # left
        if map_list[y][x-1] == 1:
            lands.append([x-1, y])

count = 0
for r in range(1, row+1):
    for c in range(1, col+1):
        if map_list[r][c] == 1:
            check(c, r)
            count += 1

print(count)

référence

https://maro28.com/paiza-s-rank-mod7

Résumé

J'ai écrit un article sur Qiita au début, mais il devrait être simple et facile à utiliser! J'espère pouvoir l'utiliser à partir de maintenant.

Recommended Posts

Résoudre la recherche d'île (équivalent au rang S de paiza) avec Python
Résolvez la divination mod7 (équivalent au rang S de Paiza) en Python
Résoudre l'addition (équivalent au rang D de paiza) en Python
Résoudre la multiplication (équivalent au rang D de paiza) en Python
Résoudre le tri des nombres (équivalent au rang D de paiza) en Python
Résoudre le nombre de mots (équivalent au rang C de paiza) en Python
Résoudre les correspondances de caractères (équivalent au rang D de paiza) en Python
Résoudre Fizz Buzz (équivalent au rang C de paiza) en Python
Résolvez la plus petite valeur en Python (équivalent au rang D de paiza)
[Avec commentaire] Résoudre Fizz Buzz (équivalent au rang C de paiza) avec Python
PUT gzip directement dans S3 en Python
Je voulais résoudre ABC159 avec Python
Résoudre ABC168D en Python
Résolvez ABC167-D avec Python
Résolvez ABC146-C avec Python
Résoudre ABC098-C en Python
Résoudre ABC159-D en Python
Résolvez ABC169 avec Python
Résolvez ABC160-E avec Python
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Pour vider stdout en Python
Connectez-vous au site Web en Python
traitement python3 qui semble utilisable dans paiza
Résoudre ABC176 E en Python
Résolvez des exercices Wooldridge en Python
Résoudre ABC175 D en Python
Parler avec Python [synthèse vocale]
13th Offline en temps réel Comment résoudre les problèmes d'écriture avec Python
Résoudre les problèmes d'optimisation avec Python
Comment développer en Python
Publier sur Slack en Python
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
17e comment résoudre les problèmes d'écriture en temps réel hors ligne avec Python
Comment écrire en temps réel hors ligne Résolution des problèmes E04 avec Python
[Python] Comment faire PCA avec Python
Convertir Markdown en PDF en Python
Comment collecter des images en Python
Comment utiliser SQLite en Python
Résoudre Atcoder ABC169 A-D avec Python
Dans la commande python, python pointe vers python3.8
Essayez de calculer Trace en Python
Résoudre ABC036 A ~ C avec Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
Résoudre ABC037 A ~ C avec Python
Résoudre des équations différentielles normales en Python
Comment gérer le japonais avec Python
Une alternative à `pause` en Python
J'ai essayé de résoudre la recherche de priorité de profondeur (DFS) d'AtCoder en Python (résultat: TLE ...)
Téléchargez ce que vous avez dans la demande vers S3 avec AWS Lambda Python
[Chez Coder] Ce que j'ai fait pour atteindre le rang vert en Python
J'ai essayé d'implémenter PLSA en Python
Résoudre ABC175 A, B, C avec Python
Essayez de vous connecter à qiita avec Python
J'ai essayé d'implémenter la permutation en Python
Méthode pour créer un environnement Python dans Xcode 6
Comment définir dynamiquement des variables en Python