[PYTHON] AtCoder Beginner Contest 069 Rückblick auf frühere Fragen

Die zweite Frage, die ich zuvor gelöst habe

Benötigte Zeit

スクリーンショット 2019-12-24 12.11.47.png

Problem A

Sie können verstehen, wenn Sie an die Figur denken

answerA.py


n,m=map(int,input().split())
print((n-1)*(m-1))

B-Problem

Negativer Index praktisch

answerB.py


s=input()
l=len(s)
print(s[0]+str(l-2)+s[-1])

C-Problem

Eindruck, der schwierig war, als ich ihn zum ersten Mal sah Wenn Sie es in drei Teile teilen: ein Vielfaches von 4 (①), ein Vielfaches von 2, das kein Vielfaches von 4 ist (②), und eine ungerade Zahl (③), können Sie vor und nach ① und ① vor und nach ② kommen. Oder ② muss sein, ① muss vor und nach ③ kommen. Daher ** erste Zeile von ③, die strengen Einschränkungen unterliegt **. Wenn Sie einen Moment darüber nachdenken, können Sie ① und ③ abwechselnd so arrangieren, dass ③ die Bedingung erfüllt, ① jedoch weniger verwendet wird. Wenn Sie auf diese Weise arrangieren, gibt es kein Problem, wenn die verbleibenden ② kontinuierlich angeordnet sind. In Anbetracht einer solchen Anordnung wird es wie folgt. (Fälle werden auftreten.)

IMG_1698.JPG

Ich habe versucht, es schnell zu lösen, und die if-Anweisung wurde überflüssig, daher habe ich sie im Kommentar neu geschrieben.

answerC.py


n=int(input())
a=[int(i) for i in input().split()]
x,y,z=0,0,0
for i in range(n):
    if a[i]%4==0:
        x+=1
    elif a[i]%2==0:
        y+=1
    else:
        z+=1
if y>0:
    if z<=x:
        print("Yes")
    else:
        print("No")
else:
    if z<=x+1:
        print("Yes")
    else:
        print("No")
'''
if y==0:
    x+=1
if z<=x:
    print("Yes")
else:
    print("No")
'''

D Problem

Persönlich war C schwieriger, und ich glaube, ich habe es vor einem ähnlichen Problem gesehen. N Arten von Farben werden angegeben und gemalt, so dass sie vertikal und horizontal verbunden sind. Zu diesem Zeitpunkt können Sie selbst entscheiden, wie Sie ** anwenden möchten, sodass Sie es horizontal anwenden können, sodass alle miteinander verbunden sind (wählen Sie das gewünschte aus, entweder horizontal oder vertikal !!). Zu diesem Zeitpunkt werden die geraden Linien (beginnend mit 0) von links nach rechts und die ungeraden Linien von rechts nach links gezeichnet. Es ist auch gut, Informationen darüber zu behalten, welche Farbe Sie gerade malen. (** Es ist bequem, separate Informationen darüber aufzubewahren, welche Informationen Sie zur Rückverfolgung von Problemen haben **) Da es praktisch ist, mit dem kürzlich erlernten für j im Bereich (w-1, -1, -1): in die entgegengesetzte Richtung schleifen zu können, werde ich es auch aktiv verwenden. (Es wird beschlossen, die Schleifenvariable mit dem dritten Argument zu dekrementieren.)

answerD.py


h,w=map(int,input().split())
n=int(input())
a=list(map(int,input().split()))

hw=[[0 for i in range(w)] for i in range(h)]

k=0#Wo suchst du jetzt?
for i in range(h):
    if i%2==0:
        for j in range(w):
            if a[k]==0:
                k+=1
            hw[i][j]=k+1
            a[k]-=1
    else:
        for j in range(w-1,-1,-1):
            if a[k]==0:
                k+=1
            hw[i][j]=k+1
            a[k]-=1
for i in range(h):
    print(" ".join(map(str,hw[i])))

Recommended Posts

AtCoder Beginner Contest 102 Rückblick auf frühere Fragen
AtCoder Beginner Contest 072 Rückblick auf frühere Fragen
AtCoder Beginner Contest 085 Rückblick auf frühere Fragen
AtCoder Beginner Contest 062 Rückblick auf frühere Fragen
AtCoder Beginner Contest 051 Rückblick auf frühere Fragen
AtCoder Beginner Contest 127 Rückblick auf frühere Fragen
AtCoder Beginner Contest 119 Rückblick auf frühere Fragen
AtCoder Beginner Contest 151 Rückblick auf frühere Fragen
AtCoder Beginner Contest 075 Rückblick auf frühere Fragen
AtCoder Beginner Contest 110 Rückblick auf frühere Fragen
AtCoder Beginner Contest 117 Rückblick auf frühere Fragen
AtCoder Beginner Contest 070 Rückblick auf frühere Fragen
AtCoder Beginner Contest 105 Rückblick auf frühere Fragen
AtCoder Beginner Contest 112 Rückblick auf frühere Fragen
AtCoder Beginner Contest 076 Rückblick auf frühere Fragen
AtCoder Beginner Contest 089 Rückblick auf frühere Fragen
AtCoder Beginner Contest 069 Rückblick auf frühere Fragen
AtCoder Beginner Contest 079 Rückblick auf frühere Fragen
AtCoder Beginner Contest 056 Rückblick auf frühere Fragen
AtCoder Beginner Contest 087 Rückblick auf frühere Fragen
AtCoder Beginner Contest 067 Rückblick auf frühere Fragen
AtCoder Beginner Contest 093 Rückblick auf frühere Fragen
AtCoder Beginner Contest 046 Rückblick auf frühere Fragen
AtCoder Beginner Contest 123 Überprüfung früherer Fragen
AtCoder Beginner Contest 049 Rückblick auf frühere Fragen
AtCoder Beginner Contest 078 Rückblick auf frühere Fragen
AtCoder Beginner Contest 081 Rückblick auf frühere Fragen
AtCoder Beginner Contest 047 Rückblick auf frühere Fragen
AtCoder Beginner Contest 060 Rückblick auf frühere Fragen
AtCoder Beginner Contest 104 Rückblick auf frühere Fragen
AtCoder Beginner Contest 057 Rückblick auf frühere Fragen
AtCoder Beginner Contest 121 Rückblick auf frühere Fragen
AtCoder Beginner Contest 126 Rückblick auf frühere Fragen
AtCoder Beginner Contest 090 Rückblick auf frühere Fragen
AtCoder Beginner Contest 103 Rückblick auf frühere Fragen
AtCoder Beginner Contest 061 Rückblick auf frühere Fragen
AtCoder Beginner Contest 059 Rückblick auf frühere Fragen
AtCoder Beginner Contest 044 Rückblick auf frühere Fragen
AtCoder Beginner Contest 083 Rückblick auf frühere Fragen
AtCoder Beginner Contest 048 Rückblick auf frühere Fragen
AtCoder Beginner Contest 124 Rückblick auf frühere Fragen
AtCoder Beginner Contest 116 Rückblick auf frühere Fragen
AtCoder Beginner Contest 097 Rückblick auf frühere Fragen
AtCoder Beginner Contest 088 Rückblick auf frühere Fragen
AtCoder Beginner Contest 092 Rückblick auf frühere Fragen
AtCoder Beginner Contest 099 Rückblick auf frühere Fragen
AtCoder Beginner Contest 065 Rückblick auf frühere Fragen
AtCoder Beginner Contest 053 Rückblick auf frühere Fragen
AtCoder Beginner Contest 094 Rückblick auf frühere Fragen
AtCoder Beginner Contest 063 Rückblick auf frühere Fragen
AtCoder Beginner Contest 107 Rückblick auf frühere Fragen
AtCoder Beginner Contest 071 Rückblick auf frühere Fragen
AtCoder Beginner Contest 064 Rückblick auf frühere Fragen
AtCoder Beginner Contest 082 Rückblick auf frühere Fragen
AtCoder Beginner Contest 084 Rückblick auf frühere Fragen
AtCoder Beginner Contest 068 Rückblick auf frühere Fragen
AtCoder Beginner Contest 043 Rückblick auf frühere Fragen
AtCoder Beginner Contest 098 Rückblick auf frühere Fragen
AtCoder Beginner Contest 114 Rückblick auf frühere Fragen
AtCoder Beginner Contest 045 Rückblick auf frühere Fragen