Comment écrire en temps réel hors ligne J'ai essayé de résoudre E12 avec python

Problème: http://mtsmfm.github.io/2017/03/04/doukaku-e12.html Liens de réponse: http://qiita.com/mtsmfm/items/d307c7b884cd86621262

C'est devenu la même logique que les autres.

import re

shapes = { 'I': ((0,), (4,)),
           'L': ((0, 0), (3, 1)),
           'O': ((0, 0), (2, 2)),
           'S': ((0, 0, 1), (1, 2, 2)),
           'T': ((1, 0, 1), (2, 2, 2)) }

def solve(data):
    board = {}
    for shift, tetromino in re.findall('(\d+)(.)', data):
        bottom_gaps, heights = shapes[tetromino]
        y = max(board.get(x, 0) - gap
                for x, gap in enumerate(bottom_gaps, int(shift)))
        for x, height in enumerate(heights, int(shift)):
            board[x] = y + height
    return str(max(board.values()))

def test(data, correct):
    answer = solve(data)
    print("%s %s : %s %s" % (("NG", "OK")[answer == correct], answer, correct, data))

test("1O3L0I0T", "5")
test("0I", "4")
test("0I0I", "8")
test("0I1I2I3I4I", "4")
test("0S0I", "5")
test("0I0S", "6")
test("2S0T2O3I", "8")
test("4O4T1T0S4L1L3L", "10")
test("0S2S4S6S8S10S12S14S", "16")
test("14S12S10S8S6S4S2S0S", "2")
test("5I2O10I0O4L10T9T11L8I2I10I12O7L12T12T12S11T9O10O13I12O10O7I9I7O0S1O2S0L1L", "23")
test("9T14L10L8T4I1T3S5I8T12O3S7L9O7L14T2I7O3S6S2L0L13T10O4I9T7L8S0I12O9S11L11T14T", "27")
test("9S9S7O11O16I2T9O12L10T9O0O13I9O1I2T14S7O9S11T5L7I14T13O0T12I3S10L10O7I15I6S2L12S8I16I3L", "23")
test("11T13I16S15T7O10L12S1I5I8S5I13I15O8S9I1T12I1S5S0L14I12L16T2S2S8L2S14L16O4I13L15L13S11S9T13S9S3L6O", "22")
test("12L10S7I5L14T12S9L1T14I0I5L1T2O18T9L0I15I16L10S1O15I0L17O5L18T4I18L7L7I13I3I12I2S3T5T3S16L14S14O11O15T14S", "17")
test("0S18S2S19I14T7L14L2L6I9I0L4I5L13L15I8S8T2I5I7O18T3S1T7I2L8O0S20T9I14T5L5I1T4L9O8T19T5S12O16T19L4O10O10T14L", "24")
test("7T5L6S4S8T6S10I19O20L14I18L21S7I11S11O1L13T20O9I7L2T8L2S20L3O14L9T17I8L8S14I6T2O11T21O18O6T15T1S3L6O19S18O20S19O16T6S14T", "26")
test("18S2I4S16L13S17I21O8I17T8I14O12T20I20S19S16S13T12T20I22I15O2I2I8I2S18I9I9T6O13O13L17I2L20L2L4I9I19O11T3S10O2S18T12I5O11S19O21S6I17T17S", "26")
test("11L5S0T22S18O13T2O22S15I12I21T16I3I1I22L11L11L22O13S24S15L13T15S19L10O15T7S24T19L0T13O11I12T13S4I24L15O3S19O10L19O0S20L7O11L21I22S18T19T23O8I22S24L0S", "21")
test("7L7I11T7S18O17L8S15L9I3O24S3O1O5O14L9T13S2O25S22T10T8L24S18S13T1O1L6I10I4S13O3S7L10T1T4L17S20I18O15S25S23S21I19T6O24S9L2O2O15L12L8L8O18I18L0T5O", "31")
test("999I999I999I999I999I999I999I999I999I999I999I", "44")

Recommended Posts

Comment écrire hors ligne en temps réel J'ai essayé de résoudre E11 avec python
Comment écrire en temps réel hors ligne J'ai essayé de résoudre E12 avec python
J'ai essayé de résoudre le problème de F02 comment écrire en temps réel hors ligne avec Python
Comment écrire en temps réel hors ligne Résolution des problèmes E04 avec Python
Comment écrire hors ligne en temps réel Résolution des problèmes F01 avec Python
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
Comment écrire hors ligne en temps réel Résolution des problèmes E05 avec Python
Le 16ème comment écrire un problème de référence en temps réel hors ligne à résoudre avec Python
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de résoudre le problème avec Python Vol.1
Partie 1 J'ai écrit la réponse au problème de référence de l'écriture hors ligne en temps réel en Python
J'ai essayé de résoudre la théorie des nombres entiers d'AOJ avec Python
J'ai essayé de simuler la propagation de l'infection avec Python
Comment écrire un exemple d'implémentation E14 Python en temps réel hors ligne
Partie 1 J'ai écrit un exemple de la réponse au problème de référence de l'écriture hors ligne en temps réel en Python
Je voulais résoudre ABC160 avec Python
J'ai essayé de résoudre TSP avec QAOA
Je voulais résoudre ABC172 avec Python
J'ai essayé de décrire le trafic en temps réel avec WebSocket
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Comment écrire un exemple d'implémentation E11 Ruby et Python en temps réel hors ligne
Comment écrire un exemple d'implémentation Python du problème E15 en temps réel hors ligne
Le 16ème problème d'écriture en temps réel hors ligne a été résolu avec Python
Je voulais résoudre NOMURA Contest 2020 avec Python
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé de sortir LLVM IR avec Python
Comment mesurer le temps d'exécution avec Python Partie 1
J'ai essayé d'automatiser la fabrication des sushis avec python
Je veux résoudre APG4b avec Python (chapitre 2)
Le 15e problème d'écriture en temps réel hors ligne a été résolu avec python
Réponse au "Problème d'écriture en temps réel hors ligne E13"
Je veux écrire dans un fichier avec Python
Comment mesurer le temps d'exécution avec Python, partie 2
Python / PEP8> E128 J'ai essayé de résoudre la ligne de continuation sous-indentée pour l'indentation visuelle
20e Comment écrire des problèmes en temps réel hors ligne en Python
J'ai essayé de résumer comment utiliser matplotlib de python
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé de démarrer avec le script python de blender_Part 01
J'ai essayé de toucher un fichier CSV avec Python
Comment mesurer le temps de lecture d'un fichier mp3 avec python
J'ai essayé de démarrer avec le script python de blender_Partie 02
J'ai essayé d'implémenter le perceptron artificiel avec python
J'ai essayé de résumer comment utiliser les pandas de python
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
Écrire en csv avec Python
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ④
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel x Python ⑤
[Pour les professionnels de la compétition débutants] J'ai essayé de résoudre 40 questions AOJ "ITP I" avec python
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ①
J'ai essayé d'agréger et de comparer les données de prix unitaires par langue avec Real Gachi by Python
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ③
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé différentes méthodes pour envoyer du courrier japonais avec Python
J'ai créé un package pour filtrer les séries chronologiques avec python
J'ai essayé de résoudre le problème d'optimisation des combinaisons avec Qiskit