[PYTHON] Bei Coder # 1 um Mitternacht

Einführung

Guten Abend. Es ist ein unregelmäßiges Projekt, das plötzlich begann. Der Plan ist, einfach das Problem zu posten, das ich mitten in der Nacht geschrieben habe. Ich bin schläfrig.

#1 Problem

** Gedanken ** Da die Einschränkungen gering sind, habe ich eine W * H-Liste erstellt und die Operation tatsächlich durchgeführt. Element 1 ist eine weiße Zelle und 0 ist eine schwarze Zelle. Es gibt 4 Betriebsarten, drücken Sie also if

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

def view(now): #Diese Funktion wurde geschrieben, um zu visualisieren, ob die Verarbeitung gut durchgeführt wurde, sodass Sie sie löschen können.
    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) #Originalfigur

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)

Gefühle

schläfrig. Und lösen Sie dieses Problem nachts nicht. Gute Nacht.

Recommended Posts

Bei Coder # 1 um Mitternacht
Füllen Sie bei Coder
[At Coder] Ausgabemethode
[Bei Coder] ABC128B - Handbuch
[Python] Competitive Pro-Vorlage [At Coder]
[At Coder] ABC085C - Otoshidamas Python-Antwort
[At Coder] Anfängerwettbewerb 175 Einführung in die ABCD-Python-Lösung
[Python] ABC133B (Problem mit dem oberen rechten Dreieck) [At Coder]
[Bei Coder] Lösen Sie das Problem der Dichotomie
[Python] ABC159D (High School Mathematics nCr) [Bei Coder]