[PYTHON] Au Coder # 1 à minuit

introduction

Bonsoir. C'est un projet irrégulier qui a commencé soudainement. Le plan est de simplement poster le problème que j'ai écrit au milieu de la nuit. J'ai sommeil.

#1 Problème

** Pensées ** Comme les restrictions sont petites, j'ai préparé une liste W * H et effectué l'opération. L'élément 1 est une cellule blanche et 0 est une cellule noire. Il y a 4 façons de faire fonctionner, alors appuyez sur si

w, h, n = map(int,input().split())
xy = [list(map(int,input().split())) for _ in range(n)]

def view(now): #Cette fonction a été écrite pour visualiser si le traitement est bien fait, vous pouvez donc le supprimer.
    s = ''
    now = list(reversed(now))
    for i in range(h):
        for j in range(w):
            s += str(now[i][j])
        else:
            s += '\n'
    return s

mapp = [[1]*(w)] * (h) #Figurine originale

for i in range(n):
    if xy[i][2] == 1 or xy[i][2] == 2:
        for j in range(h):
            if xy[i][2] == 1:
                mapp[j][:xy[i][0]] = [0]*xy[i][0]

            elif xy[i][2] == 2:
                mapp[j][xy[i][0]:] = [0]*(w-xy[i][0])

    elif xy[i][2] == 3:
        for s in range(xy[i][1]):
            mapp[s] = [0] * w

    elif xy[i][2] == 4:
        for s in range(xy[i][1],h):
            mapp[s] = [0] * w

    #print(view(mapp))
ans = 0
for i in range(h):
    ans += mapp[i].count(1)
print(ans)

Sentiments

somnolent. Et ne résolvez pas ce problème la nuit. bonne nuit.

Recommended Posts

Au Coder # 1 à minuit
Remplir au codeur
[At Coder] Méthode de sortie
[At Coder] ABC128B --Guidebook
[Python] Modèle Pro compétitif [Chez Coder]
[At Coder] ABC085C - La réponse Python d'Otoshidama
[At Coder] Débutant Contest 175 Présentation de la solution ABCD python
[Python] ABC133B (problème du triangle supérieur droit) [At Coder]
[Chez Coder] Résoudre le problème de la dichotomie
[Python] ABC159D (Mathématiques au lycée nCr) [At Coder]