Täglicher AtCoder # 37 in Python

Einführung

Letztes Mal Wir werden ein Bootcamp für Anfänger machen.

#37 ARC091-C

** Gedanken ** Da die Anzahl der Operationen gerade ist, wird die Kante am Ende immer tabellarisch dargestellt. In ähnlicher Weise werden andere Elemente als Kanten ungerade oft manipuliert, sodass sie am Ende umgedreht werden. Basierend auf der obigen Idee beträgt die Anzahl der Blätter auf der Rückseite am Ende $ (n-2) * (m-2) $. Dies gilt jedoch nicht für $ n \ leq2, m \ leq2 . Daher wird die Verarbeitung für Ausnahmen ( n \ leq2, m \ leq2 $) separat geschrieben.

n, m = map(int,input().split())

if n == 1 and m == 1:
    print(1)
elif n == 1 or m == 1:
    print(max(max(n,m)-2,0))
else:
    print((n-2)*(m-2))

ARC080-C

** Gedanken ** Wenn das Vielfache von 4 mehr als die Hälfte aller Elemente ist, können Sie eine Zahlenfolge erstellen, die die Bedingung erfüllt. Worüber wir hier nachdenken müssen, ist der Prozess von 2. Im Gegensatz zu anderen Nicht-Vielfachen von 4 erfüllt 2 die Bedingung, wenn es stetig ist. Daher kann durch Subtrahieren der Anzahl von c2 von n und Addieren von 1 zu der Zahl von 2 bei der Berechnung ignoriert werden.

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

c1 = 0
c2 = 0
c4 = 0
for i in range(n):
    if a[i] % 4 == 0:
        c4 += 1
    elif a[i] % 2 == 0:
        c2 += 1
    elif a[i] == 1:
        c1 += 1

n -= c2
c2 %= 2
n += c2
f = n // 2

if c4 >= f:
    print('Yes')
    quit()
else:
    print('No')

ABC043-B

** Gedanken ** Nehmen Sie einfach eins nach dem anderen mit für und fügen Sie es der Zeichenkette hinzu. 'B' wurde in Slices implementiert.

s = input()
ans = ''
for i in range(len(s)):
    if s[i] == 'B':
        ans = ans[:-1]
    elif s[i] == '0':
        ans += '0'
    else:
        ans += '1'
    #print(ans)
print(ans)

ABC131-C

** Gedanken ** Ich denke, es ist ein ganzzahliges Problem. Erklärung der Formel

import fractions
a, b, c, d = map(int,input().split())

l = int(fractions.gcd(c,d) * c / fractions.gcd(c,d) * d / fractions.gcd(c,d))
#print(l)
x = b // c - a // c
y = b // d - a // d
z = b // l - a // l
if a % c == 0 or a % d == 0:
    print(int(b-a-(x+y-z)))
else:
    print(int(b-a-(x+y-z))+1)
#print(x,y,z)

ABC109-C

** Gedanken ** Die Antwort ist die maximale Verpflichtung der Differenz zwischen den Elementen, also berechnen Sie einfach

import fractions
n, y = map(int,input().split())
x = list(map(int,input().split()))

x.append(y)
x.sort()
d = []
for i in range(n):
    d.append(x[i+1]-x[i])
if len(d) !=1:
    ans = fractions.gcd(d[0],d[1])
    for i in range(n-1):
        ans = fractions.gcd(ans,d[i])
    print(ans)
else:
    ans = d[0]
    print(ans)

ABC116-C

** Gedanken ** Es ist dasselbe, die Höhe aller Blumen von 0 auf $ h $ und die Höhe aller Blumen von $ h $ auf 0 zu ändern. Benachbarte Blumen, die nicht jedes $ h $ erreicht haben, werden seltener gewässert. Gießen Sie auch keine Blumen, die $ h $ erreicht haben. Daher prüfen wir, ob die Anzahl der Blumen 0 beträgt, und berechnen die maximale Reichweite, die gleichzeitig bewässert werden kann.

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

ans = 0
for i in range(max(h)):
    c = 0
    for j in range(n):
        if h[j] != 0:
            h[j] -= 1
            c += 1
        else:
            if c != 0:
                ans += 1
                c = 0
        if j == n-1 and c != 0:
            ans += 1
print(ans)

Zusammenfassung

Ich muss meine Schulhausaufgaben erledigen ... wir sehen uns.

Recommended Posts

Täglicher AtCoder # 36 mit Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 18 in Python
Täglicher AtCoder # 33 in Python
Täglicher AtCoder # 7 in Python
AtCoder # 24 jeden Tag mit Python
Täglicher AtCoder # 37 in Python
AtCoder # 8 jeden Tag mit Python
Täglicher AtCoder # 42 in Python
Täglicher AtCoder # 21 mit Python
Täglicher AtCoder # 17 mit Python
Täglicher AtCoder # 38 in Python
Täglicher AtCoder # 54 in Python
Täglicher AtCoder # 11 in Python
Täglicher AtCoder # 15 in Python
Täglicher AtCoder # 47 mit Python
Täglicher AtCoder # 13 in Python
Täglicher AtCoder # 45 mit Python
AtCoder # 30 jeden Tag in Python
Täglicher AtCoder # 40 mit Python
Täglicher AtCoder # 10 mit Python
AtCoder # 5 jeden Tag mit Python
Täglicher AtCoder # 28 in Python
Täglicher AtCoder # 39 in Python
Täglicher AtCoder # 20 in Python
Täglicher AtCoder # 19 in Python
Täglicher AtCoder # 52 in Python
Täglicher AtCoder # 3 in Python
Täglicher AtCoder # 14 mit Python
Täglicher AtCoder # 50 mit Python
Täglicher AtCoder # 26 mit Python
Täglicher AtCoder # 4 mit Python
Täglicher AtCoder # 43 in Python
Täglicher AtCoder # 29 in Python
Jeden Tag mit Python AtCoder # 22
Täglicher AtCoder # 49 in Python
Täglicher AtCoder # 27 in Python
AtCoder # 1 jeden Tag mit Python
Täglicher AtCoder # 25 mit Python
Täglicher AtCoder # 16 in Python
Täglicher AtCoder # 12 in Python
Täglicher AtCoder # 48 in Python
Täglicher AtCoder # 23 in Python
Täglicher AtCoder # 34 in Python
Täglicher AtCoder # 51 mit Python
Täglicher AtCoder # 31 in Python
Jeden Tag mit Python AtCoder # 46
Täglicher AtCoder # 35 mit Python
AtCoder # 9 jeden Tag mit Python
Täglicher AtCoder # 44 mit Python
Jeden Tag mit Python AtCoder # 41
Atcoder ABC164 A-C in Python
atCoder 173 Python
Python-Eingabehinweis in AtCoder
Atcoder ABC167 A-D in Python
Atcoder ABC165 A-D in Python
Atcoder ABC166 A-E in Python
Atcoder ABC169 A-E in Python
AtCoder ABC177 A-D mit Python
Löse den Atcoder ABC169 A-D mit Python